2017-02-07 3 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は、私のコードは動作しませんhourse.mp3

でとりかえする必要があり、SCRの値が 任意のアイデアを変更していませんか?直接的な方法で

+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>"); 

は、あなたの期待どおりのタグをに置き換えていません。既存の要素の中にhtmlのを挿入しています。

のattrのみ変更するには:また、SRC/SCRのタイプミスを

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

注意を。

関連する問題