请参阅我的代码:
var ths = $("#my_table table th");
if (ths.length > 1) {
var $th = ths[1]; // tried here plain 'var th' - still got error
th.find('#map_column_element_id'); // error here!
}
我得到了一些JQuery对象。然后我尝试将第二个元素作为JQuery对象进行管理。当我发出
th.find(...)
我得到 TypeError:th.find不是函数。我做错了什么?
答案 0 :(得分:6)
您正在获取本机JS DOM元素,该元素没有find()
方法。使用eq()
,或使用$(ths[1])
重新包装元素。
我会使用eq()
,如下所示:
var ths = $("#my_table table th");
if (ths.length > 1) {
var $th = ths.eq(1);
$th.find('#map_column_element_id');
}
在评论中也同意Andrew,ID是唯一的,并且不需要find()
它,只需执行$('#map_column_element_id')
即可。