jQuery中如何对each遍历的每个元素调用find方法?
错误原因
- jQuery的
each方法遍历元素集合时,回调函数的第一个入参是当前遍历项的索引,第二个入参才是对应的原生DOM节点,你代码里把第一个参数当做元素节点调用find本身就属于参数使用错误。 - 原生DOM节点没有内置
find方法,只有经过jQuery包装的对象才支持find方法查询子元素。
正确写法
写法1:使用回调第二个参数包装为jQuery对象
var $tables = $('table') $tables.each(function(index, table) { // 先把原生DOM节点table包装为jQuery对象,再调用find var elementsArray = $(table).find('替换为你的合法选择器'); // 后续处理逻辑 })
写法2:直接用回调内的this指向当前元素
each遍历的回调函数中,this默认指向当前遍历的原生DOM节点,可直接包装后使用:
var $tables = $('table') $tables.each(function() { var elementsArray = $(this).find('替换为你的合法选择器'); // 后续处理逻辑 })
内容的提问来源于stack exchange,提问作者Abcd
相关产品推荐
相关产品推荐

