Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery查找不使用音频源_Javascript_Jquery_Html5 Audio - Fatal编程技术网

Javascript jQuery查找不使用音频源

Javascript jQuery查找不使用音频源,javascript,jquery,html5-audio,Javascript,Jquery,Html5 Audio,我有一个Rails应用程序,在一个页面上有几个音频元素。要更改其中一个源,我使用jQuery选择器定位音频元素,然后使用.find(“source”)获取子源元素。出于某种原因,这是行不通的。如果我有一个id=“change\u me”的音频元素和一个包含的源元素 $("#change_me").find("source") 返回未定义的 这里有一个JSFIDLE说明了这个问题。从父元素使用find()失败,使用选择器“#change_me source”也失败,但是引用源元素id的选择器直

我有一个Rails应用程序,在一个页面上有几个音频元素。要更改其中一个源,我使用jQuery选择器定位音频元素,然后使用.find(“source”)获取子源元素。出于某种原因,这是行不通的。如果我有一个id=“change\u me”的音频元素和一个包含的源元素

$("#change_me").find("source") 
返回未定义的

这里有一个JSFIDLE说明了这个问题。从父元素使用find()失败,使用选择器“#change_me source”也失败,但是引用源元素id的选择器直接返回该元素。发生什么事了

change\u me
中缺失,因为它是
audio
元素的
id

audio = $("#change_me");
source = $("#change_me source");
您已将选择器用作
$(“change\u me”)
,这是一个选项,因此它将搜索具有标记名
change\u me
的元素,如

演示:

change\u me
中缺失,因为它是
audio
元素的
id

audio = $("#change_me");
source = $("#change_me source");
您已将选择器用作
$(“change\u me”)
,这是一个选项,因此它将搜索具有标记名
change\u me
的元素,如

演示:

change\u me
中缺失,因为它是
audio
元素的
id

audio = $("#change_me");
source = $("#change_me source");
您已将选择器用作
$(“change\u me”)
,这是一个选项,因此它将搜索具有标记名
change\u me
的元素,如

演示:

change\u me
中缺失,因为它是
audio
元素的
id

audio = $("#change_me");
source = $("#change_me source");
您已将选择器用作
$(“change\u me”)
,这是一个选项,因此它将搜索具有标记名
change\u me
的元素,如

演示:

这是一个打字错误。代码中缺少
#

$("#click_me").click(function(e) {
    audio = $("change_me");
               ^==========>  #
    source = audio.find("source").first();
    console.log(source[0]);
    source = $("change_me source");
                ^=========>  #
    console.log(source[0]);
    source = $("#change_me_source");
    console.log(source[0]);
});
这是个打字错误。代码中缺少
#

$("#click_me").click(function(e) {
    audio = $("change_me");
               ^==========>  #
    source = audio.find("source").first();
    console.log(source[0]);
    source = $("change_me source");
                ^=========>  #
    console.log(source[0]);
    source = $("#change_me_source");
    console.log(source[0]);
});
这是个打字错误。代码中缺少
#

$("#click_me").click(function(e) {
    audio = $("change_me");
               ^==========>  #
    source = audio.find("source").first();
    console.log(source[0]);
    source = $("change_me source");
                ^=========>  #
    console.log(source[0]);
    source = $("#change_me_source");
    console.log(source[0]);
});
这是个打字错误。代码中缺少
#

$("#click_me").click(function(e) {
    audio = $("change_me");
               ^==========>  #
    source = audio.find("source").first();
    console.log(source[0]);
    source = $("change_me source");
                ^=========>  #
    console.log(source[0]);
    source = $("#change_me_source");
    console.log(source[0]);
});

在我看来,解决这个问题的最佳方法是在click事件之外声明
变量,这样就不需要遍历DOM了。这样你就不需要全局变量了


在我看来,解决这个问题的最佳方法是在click事件之外声明
变量,这样就不需要遍历DOM了。这样你就不需要全局变量了


在我看来,解决这个问题的最佳方法是在click事件之外声明
变量,这样就不需要遍历DOM了。这样你就不需要全局变量了


在我看来,解决这个问题的最佳方法是在click事件之外声明
变量,这样就不需要遍历DOM了。这样你就不需要全局变量了


谢谢,长夜,我把选择器弄糊涂了。但是,它在我的js.erb文件中仍然不起作用,而且选择器是正确的。@JPlato您能在fiddleArun中重现这个问题吗,谢谢您的帮助。在从控制器更新方法返回时,我使用js.erb模板修改页面内容,但由于某些原因,我无法让它更改源元素的src属性(尝试使用attr('src','…'))src=“…”最后,我放弃了,决定替换音频元素所在的整个div。谢谢,长夜,我屏蔽了选择器。但是,它在我的js.erb文件中仍然不起作用,选择器是正确的。@JPlato你能在fiddleArun中重现这个问题吗,谢谢你的帮助。我使用的是js。erb模板在从控制器更新方法返回时修改页面内容,但由于某些原因,我无法使其更改源元素的src属性(尝试使用attr('src','…'))src=“…”最后,我放弃了,决定替换音频元素所在的整个div。谢谢,长夜,我屏蔽了选择器。但是,它在我的js.erb文件中仍然不起作用,选择器是正确的。@JPlato你能在fiddleArun中重现这个问题吗,谢谢你的帮助。我使用的是js。erb模板在从控制器更新方法返回时修改页面内容,但由于某些原因,我无法使其更改源元素的src属性(尝试使用attr('src','…'))src=“…”最后,我放弃了,决定替换音频元素所在的整个div。谢谢,长夜,我屏蔽了选择器。但是,它在我的js.erb文件中仍然不起作用,选择器是正确的。@JPlato你能在fiddleArun中重现这个问题吗,谢谢你的帮助。我使用的是js。erb模板在从控制器更新方法返回时修改页面内容,但由于某些原因,我无法使其更改源元素的src属性(尝试使用attr('src','…'))src=“…”最后,我放弃了,只是决定替换音频元素所在并工作的整个div。HTML和fiddle一样吗?HTML和fiddle一样吗?HTML和fiddle一样吗?HTML和fiddle一样吗?