jQuery .map有时候无法正常工作

时间:2015-05-19 22:27:38

标签: javascript jquery

我构建了一些使用$(".class").map(..)功能的Chrome扩展程序,但由于某种原因,有时它找不到我要查找的元素..

这是我的代码:

var videocontent = $(".content").map(function () { if (this.innerHTML.indexOf("id=\"player_wrapper\"") > -1) { return this; } });
if(videocontent.length)
{
    // Success
}
else
    alert("ERROR");

.content有多个元素,因此我使用.map来查找正确的元素。 每10次尝试一次,它会发出错误警告,因为它由于某种原因没有找到它。我正在尝试多种方法,但无法找到解决方案。

1 个答案:

答案 0 :(得分:1)

$(...).map()不是为搜索元素而设计的,它是用于将函数应用于数组的每个元素以某种方式对其进行转换。您想要使用$(...).find()代替:

var videocontent = $(".content").find('#player_wrapper');

https://api.jquery.com/find/

看起来你正在上树找到它的父母,所以:

var videocontent = $(".content").find('#player_wrapper').parent();