2017-02-07 8 views
1

링크에서 href 값을 가져 와서 그 값을 소스 선택기의 scr에 넣어야합니다.scr에 값을 입력하는 방법

<source src="HERE should be value" type="audio/mpeg"> 

내 코드

<div id="music"> 
    <a href="horse.mp3">taken</a> 
</div> 
<audio controls> 
    <source src="1.mp3" type="audio/mpeg"> 
</audio> 


<script> 
    $(document).ready(function(){ 
     $('#music a').click(function(){ 
      event.preventDefault(); 
      var value = $(this).attr('href'); 
      $('p').html("<p>"+value+"</p>"); 
      $('source').html("<source[scr$="+value+"</source>"); 

     }); 
    }); 
</script> 

목적 1.MP3는

내 코드가 작동하지 않습니다는 SCR의 값이 어떤 아이디어를 변경하지 않는 hourse.mp3으로 SWOP해야 하는가? 직접적인 방법으로

+1

구체적인 문제를 명확히하거나 추가 정보를 추가하여 필요한 것을 정확하게 강조하십시오. 현재 작성된 내용이므로 귀하가 원하는 내용을 정확하게 말하기는 어렵습니다. 이 질문을 명확히하는 데 도움이 필요하면 [How to Ask page] (http://stackoverflow.com/help/how-to-ask)를 참조하십시오. –

+1

가능한 [JQuery에서 Src 속성을 설정하는 올바른 방법은 무엇입니까?] (http://stackoverflow.com/questions/4390627/whats-the-correct-way-to-set-src-attribute-in-jquery) –

답변

0

설정 src 속성 : 새로운 소스를 사용 오디오에서 오디오를 미리로드

$('source').attr("src", value); 

DEMO

| video.load() 기능 :

$('#music a').click(function(){ 
     event.preventDefault(); 
     var value = $(this).attr('href'); 
     $('p').html("<p>" + value + "</p>"); 
     $('source').attr("src", value); 

     // document.getElementsByTagName("audio")[0].load(); // pure JS approach 
     $('audio')[0].load(); // to preload the audio from the new source 
     $('audio')[0].play(); // to play the audio immediately 

}); 
+0

ypu에 감사하지만 플레이어가 페이지를 새로 고치지 않고도 재생할 수 없습니다. 도움을 주시겠습니까? –

+0

@ ПавелОвсем, 내 업데이트를 참조하십시오. – RomanPerekhrest

+0

시도했지만 성공하지 못했습니다. 내 코드에서 어떻게 보이는지 보여 주시겠습니까? 감사합니다. –

0

현재 위치 :

$('p').html("<p>"+value+"</p>"); 
$('source').html("<source[scr$="+value+"</source>"); 

으로 바꿀 수 없습니다. 그것은 안에 기존 요소를 삽입하고 있습니다. 또한

$('p').html(value); 
$('source').attr("src", value); 

참고 SRC가/SCR 오타 :

만 ATTR을 변경합니다.