如何获得每个匹配元素的innerHTML

时间:2012-08-23 22:27:53

标签: jquery each

我有很多<tr>元素。每个重要的标记都包含一个包含“highlight-delete”的类名。如何迭代它们的整个集合,并将每个.innerHTML写入控制台?我试过这个但是失败了

            $.each('tr[class*=highlight-delete]', function (index, item) {
              console.log(item.innerHTML);
            });

7 个答案:

答案 0 :(得分:4)

each函数的第一个参数应该是arrayobject,您传递的是字符串:

  

jQuery.each(集合,回调(indexInArray,valueOfElement))

  $.each($('tr[class*=highlight-delete]'), function (index, item) {
          console.log(item.innerHTML);
  });

答案 1 :(得分:2)

您可以使用jquery的html() function

 $('tr[class*=highlight-delete]').each(function (index, item) {
      console.log($(item).html());
 });

答案 2 :(得分:1)

尝试

而不是

item[0].innerHTML;

实际上,item.innerHTML或$(item).html()可以正常工作。

item [0]不会因为我们没有获得包装集而是dom节点。

http://jsfiddle.net/adouga/9yqqp/

答案 3 :(得分:1)

$.each()将集合作为其第一个参数,而不是选择器,因此每个实际上是字符串的每个字符。

您需要将字符串更改为集合$()或使用备用$(...).each(function(index, item) {...});

答案 4 :(得分:1)

$('tr[class*=highlight-delete]').each(function (index, item) {
  console.log(item.innerHTML);
});​

An example at jsFiddle

答案 5 :(得分:1)

我知道这是一个旧线程。希望提供一种替代方法来使用jquery的each

$('tr[class*=highlight-delete]').get().map((currentValue, index, arr) => {return currentValue.innerHTML;})

答案 6 :(得分:0)

更简单的方法是简单地利用jQuery中的链接。在返回的jQuery对象上使用eachthis将绑定到回调函数中的匹配元素。

$('tr[class*=highlight-delete]').each(function(){
    console.log(this.innerHTML);
});