2014-04-16 104 views
1

还有一些类似的问题,但我的更具体一点。如何通过jQuery遍历某个类型的所有元素?

我有一个ID为“myTable”的表元素,里面有一些tr元素(假设tr元素是2)。

<table id="myTable"> 
    <tr> 
     <td>Row 1</td> 
    </tr> 
    <tr> 
     <td>Row 2</td> 
    </tr> 
</table> 

如果我尝试看看在#myTable表元素的行数,通过写

var numberOfRows = $("#myTable tr").length; 

我总是有1在numberOfRows变量。

它只适用于当我添加一个类到所有tr元素。

<table id="myTable"> 
    <tr class="myRows"> 
     <td>Row 1</td> 
    </tr> 
    <tr class="myRows"> 
     <td>Row 2</td> 
    </tr> 
</table> 

比方说,类是“myRows”,并写上如下:

var numberOfRows = $("#myTable .myRows").length; 

然后,我得到正确的数量 - 2

所以,我的问题是如何获得某些元素的数量或通过它们循环,如果它们没有被类别区分(如上例)?

+0

哪些元素?你可以发布你的标记吗? – BenM

+3

'$(“#myTable tr”)。length'应该可以工作。否则,您的HTML标记无效。 – Felix

+0

他们是表和tr元素。我不在这里粘贴HTML。 – Yulian

回答

1

你可以使用这样的:

$('#myTable > tbody > tr').each(function() {...code...}); 
+0

我宁愿等待OP发布他的HTML。如果他没有'tbody'会怎么样? – asprin

+0

@asprin只是不使用tbody – Gyani

0

纯JavaScript也适用于所有的浏览器meyor

var rows=document.getElementById("myTable").rows; 
for(var rowIndex=0;rowIndex<rows.lenght;rowIndex++){ 
     //now do everything with tr $(rows[rowIndex]).height(80) 
}