2013-11-26 83 views
1

按照試圖在jsfiddle中運行,我認爲這應該工作,但它是返回空白。爲什麼這不返回元素?

這是例如HTML

<table id = "test"> 
    <tr><td>test</td><td>test</td></tr> 
    <tr><td>test</td><td>test</td></tr> 
    <tr><td>test</td><td>test</td></tr> 
</table> 

而我只是想對其運行該代碼。

var x = $("#test").children("tr"); 
console.log(x); 

但它是返回沒有在x中,而不是所有的tr元素。

任何想法?

我的最終目標是創建一個函數,它將遍歷jquery所選表格中的每個tr和td,從而允許我爲在線棋盤遊戲「設置」div值。這是最好的方法嗎?

回答

5

的問題是,

$("#test").children("tr"); 

相當於

$("#test > tr"); 

但大多數瀏覽器插入一個sorrounding tbody如果沒有在表中,所以#test > tr不匹配任何元素,所以最好使用

$("#test tr"); 

或者如果你喜歡

$("#test").find("tr"); 
+0

你有一個類型。您需要將'#'添加到首選元素。 –

+0

你說得對,現在已經修好了,謝謝! –

+0

非常感謝。 –

1

使用本:

var x = $("#test").find("tr"); 
console.log(x); 
+3

這並不能解釋爲什麼'$( 「#TEST」)。兒童( 「tr」)'不起作用。 –

1

您可以嘗試使用.each() Fiddle

$("#test td").each(function() { 
    var x = $(this).text(); 
    console.log(x); 
}); 
相關問題