2012-08-23 25 views
2

我有很多<tr>元素。每個重要的標記都包含一個包含「highlight-delete」的類名。我怎樣才能遍歷它們的整個集合,並將它們的每個.innerHTML寫入控制檯?我試過,但它未能如何獲得每個匹配元素的innerHTML

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

回答

3

each函數的第一個參數應該是一個arrayobject,要傳遞的字符串:

jQuery.each(收集,回調(indexInArray,valueOfElement))

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

我剛剛開始弄清楚輸入有什麼錯誤:),不斷得到奇怪的結果。感謝您的支持! –

+1

@TravisJ不用客氣,你也可以使用'$('tr [class * = highlight-delete]')。 – undefined

2

您可以使用jQuery的html()function

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

嘗試

這個代替

item[0].innerHTML; 

其實item.innerHTML或$(項目)。 html()會正常工作。

item [0]不會因爲我們沒有得到一個包裝集而是一個dom節點。

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

1

$.each()需要一個集合作爲其第一個參數,而不是一個選擇,所以每個項目實際上是你的字符串的每個字符。

你需要通過包裝它$()或使用要麼改變串入一個集合替代$(...).each(function(index, item) {...});

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

An example at jsFiddle

0

接近,這將是簡單地採取的jQuery鏈的優勢,更容易的方法。在返回的jQuery對象上使用eachthis將被綁定到回調函數中的匹配元素。

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