找到刚刚使用Youtube API播放的Youtube iframe的父div

Jus*_*zer 5 javascript youtube api jquery youtube-api

我有这个功能:

function onPlayerStateChange(event) {
    if (event.data == 0){

        alert(event.target.parentNode);

    }
});
Run Code Online (Sandbox Code Playgroud)

每次嵌入式iframe发生"状态更改"时都会调用它.它只会在视频结束时发出警告信息,根据文档,我可以通过调用获得对玩家的引用event.target但是,我希望能够找到父div,event.target但我无法调用任何jquery或常规javascript就可以了.我怎样才能找到刚结束的玩家的父div?

小智 10

event.target不是一个可行的方法.正如Molle博士警告的那样,event.target键会定期更改......

有一个getIframe()函数,您可以更可靠地工作,因此event.target.getIframe().parentNode将为您提供父DIV.

  • 实际上,这应该是被接受的答案,因为它完全符合原始问题的要求,并且可以安全地完成。 (2认同)

Dr.*_*lle 2

这里的event.target不返回 HTML 元素(在本例中为 iframe),它返回播放器对象。您可以使用event.target.b访问 iframe (并使用event.target.b.parentNode访问 div )。

请注意:这不是文档的一部分,我正在使用控制台检查event.target的成员。这(通过event.target.b进行访问)将来可能会发生变化。

  • 没关系。我所做的是,当我从播放器对象获取 iframe 时,我将 iframe 的 id 存储为键,将播放器对象存储为全局关联数组中的值。因此我总是可以调用数组从 iframe 中拉出播放器。 (2认同)