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 следует Swop с hourse.mp3

Мой код не работает, стоимость ОПЗ не меняющегося Есть идеи?

+1

Просьба уточнить вашу конкретную проблему или добавить дополнительные сведения, чтобы точно указать, что вам нужно. Как это написано в настоящее время, трудно точно сказать, что вы просите. См. Страницу [Как задать страницу] (http://stackoverflow.com/help/how-to-ask) для получения помощи в разъяснении этого вопроса. –

+1

Возможный дубликат [Что такое правильный способ установки атрибута Src в JQuery?] (Http://stackoverflow.com/questions/4390627/whats-the-correct-way-to-set-src-attribute-in-jquery) –

ответ

0

Set 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:

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

Заметны также SRC/экр опечатка.

Смежные вопросы