使用通配符选择对象 ID 时出现问题

Trouble selecting object ID with wildcard

我在我的页面上使用了多个 jwplayer 实例,每次加载页面时都会在播放器 ID 的末尾生成随机键。示例:jwplayer_ad1_012 并在下次刷新时 jwplayer_ad1_123。 我正在尝试 select 播放器并通过使用 javascript $("object[id^='jwplayer_ad1_']").jwplayer().play(); 使其播放(我知道自动播放),这会引发错误。我试图将 $("object[id^='jwplayer_ad1_']") 分配给一个 var 并使用 testvar.jwplayer().play(); 并且这也没有像控制台所说的那样工作 Uncaught TypeError: $(...).jwplayer 不是一个函数 所以我window.alert(testvar); 确保设置了 var 并且警报只是说 [对象对象]

我能对我做错了什么有一些了解吗?

我不相信 jwplayer 是一个 jQuery 插件,但你试图这样称呼它。

This page 建议为了使用 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();
}

...但这是一个非常迂回的方式。