使用通配符选择对象ID时遇到问题

Trouble selecting object ID with wildcard

本文关键字:遇到 问题 ID 对象 通配符 选择      更新时间:2023-09-26

我在我的页面上使用多个jwplayer实例,每次页面加载时生成随机密钥到播放器ID的末尾。例如:jwplayer_ad1_012,下次刷新jwplayer_ad1_123。我试图选择播放器,并使其发挥(我知道自动播放)通过使用javascript $("object[id^='jwplayer_ad1_']").jwplayer().play();,这抛出了一个错误。我试图将$("object[id^='jwplayer_ad1_']")分配给一个变量并使用testvar.jwplayer().play();,这也不起作用,正如控制台所说Uncaught TypeError: $(…)。jwplayer不是一个函数所以我做了window.alert(testvar);来确保var被设置,警报只是说[object object]

我能知道我做错了什么吗?

我不相信jwplayer是一个jQuery插件,但你试图把它称为一个。

本页建议,为了使用jwplayer,您调用jwplayer函数并将要使用的元素的id或索引(0 =第一个)传递给它。

所以如果你想播放第一个,只需:

jwplayer(0).play();

或者(显然0是默认的):

jwplayer().play();

如果您需要其他索引之一,则可以使用更高的索引。

如果你想用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();
}

…但这是一种非常迂回的方式