我有很多<tr>
元素。每个重要的都标有一个包含“highlight-delete”的类名。我如何遍历整个集合,并将它们中的每一个写入.innerHTML
控制台?我试过这个但它失败了
$.each('tr[class*=highlight-delete]', function (index, item) {
console.log(item.innerHTML);
});
函数的第一个参数each
应该是array
or object
,你传递的是一个字符串:
jQuery.each(集合,回调(indexInArray,valueOfElement))
$.each($('tr[class*=highlight-delete]'), function (index, item) {
console.log(item.innerHTML);
});
你可以使用jquery的html()
function
$('tr[class*=highlight-delete]').each(function (index, item) {
console.log($(item).html());
});
我知道这是一个旧线程。想要提供一个替代使用 jquery 的each
.
$('tr[class*=highlight-delete]').get().map((currentValue, index, arr) => {return currentValue.innerHTML;})
尝试
这反而
item[0].innerHTML;
实际上 item.innerHTML 或 $(item).html() 可以正常工作。
item[0] 不会,因为我们没有得到一个包装集,而是一个 dom 节点。
$.each()
将集合作为其第一个参数,而不是选择器,因此每个项目实际上是字符串的每个字符。
您需要通过将字符串包装$()
或使用替代将字符串更改为集合$(...).each(function(index, item) {...});
$('tr[class*=highlight-delete]').each(function (index, item) {
console.log(item.innerHTML);
});
解决这个问题的一种更简单的方法是简单地利用 jQuery 中的链接。each
在返回的 jQuery 对象上使用。this
将绑定到回调函数中的匹配元素。
$('tr[class*=highlight-delete]').each(function(){
console.log(this.innerHTML);
});