Javascript 使用通配符选择对象ID时出错
我在页面上使用多个jwplayer实例,每次加载页面时,这些实例都会在播放器ID的末尾生成随机键。示例:Javascript 使用通配符选择对象ID时出错,javascript,jquery,jwplayer,Javascript,Jquery,Jwplayer,我在页面上使用多个jwplayer实例,每次加载页面时,这些实例都会在播放器ID的末尾生成随机键。示例:jwplayer\u ad1\u 012和下一次刷新时jwplayer\u ad1\u 123。 我正试图通过使用javascript$(“object[id^='jwplayer\u ad1\u'])来选择播放器并使其播放(我知道自动播放)这就抛出了一个错误。我试图将$(“object[id^='jwplayer\u ad1\u'])分配给一个var,并使用testvar.jwplayer(
jwplayer\u ad1\u 012
和下一次刷新时jwplayer\u ad1\u 123
。
我正试图通过使用javascript$(“object[id^='jwplayer\u ad1\u'])来选择播放器并使其播放(我知道自动播放)代码>这就抛出了一个错误。我试图将$(“object[id^='jwplayer\u ad1\u'])
分配给一个var,并使用testvar.jwplayer().play()正如console所说,这也不起作用
未捕获的TypeError:$(…).jwplayer不是一个函数,所以我做了window.alert(testvar)
以确保已设置var,且警报仅显示[object]
我能了解一下我做错了什么吗?我不相信jwplayer
是一个jQuery插件,但你试图把它称为一个
建议为了使用jwplayer
,调用jwplayer
函数并将要使用的元素的id
或索引(0=第一个)传递给它
因此,如果您想玩第一个,只需:
jwplayer(0).play();
或者(默认值显然是0
):
如果您想要其中一个,可以使用更高的索引
如果您想用id
代替,您可以找到id
:
var id = $("object[id^='jwplayer_ad1_']").attr("id");
…然后这样做:
if (id) { // Did we find one (the above returns `undefined` if there weren't any)
jwplayer(id).play();
}
…但这是一种非常迂回的方式。对象[id^='jwplayer\u ad1']中的对象是什么?你有“object”元素吗?…这是一个错误…“什么错误?是我的jwplayer代码生成的flash播放器。”。我以为object[id^='jwplayer\u ad1\u']
只会选择在ID@n1nja:它将选择其id
属性以jwplayer\u ad1\u
开头的任何对象
元素,是的。你能用小提琴复制它吗?这太完美了。似乎我丢失了.attr(“id”)
所以为了确保我理解这一点,$(“object[id^='jwplayer\u ad1'])
只选择对象作为一个整体,而.attr(“id”)代码>正在选择对象的单个属性吗?
if (id) { // Did we find one (the above returns `undefined` if there weren't any)
jwplayer(id).play();
}