如何使用jQuery在任何DIV中始终选择第一个TR

时间:2013-07-08 08:08:03

标签: jquery

我有一个具有不同计数的DIV的站点,具有不同的TABLES计数,我想总是删除第一个TABLE的第一个TR。使用此代码只有第一个DIV工作。这个jquery有什么问题?

<div style=background:khaki;padding:8>
<table border=1 cellpadding=8>
<tr><td><table border=1 cellpadding=8>
<tr><td>text 1</td><td>text 2</td></tr>
</table></td></tr>
<tr><td>text 3</td></tr>
<tr><td><table border=1 cellpadding=8>
<tr><td>text 4</td><td>text 5</td></tr></table>
</td></tr></table>
text 6
</div>
<br>
<div style=background:coral;padding:8>
<table border=1 cellpadding=8>
<tr><td><table border=1 cellpadding=8>
<tr><td>text 1</td><td>text 2</td></tr>
</table></td></tr>
<tr><td>text 3</td></tr>
<tr><td><table border=1 cellpadding=8>
<tr><td>text 4</td><td>text 5</td></tr></table>
</td></tr></table>
text 6
</div>

$(“div tr:eq(0)”)。css(“background”,“black”);

http://jsfiddle.net/tjZSm/

2 个答案:

答案 0 :(得分:7)

我对你的小提琴进行了一些小改动,这应该有效:

$("div").find('tr:first').css("background","black");

首先选择所有div,然后选择tr

中的所有div

答案 1 :(得分:0)

来自jquery:eq()文档

 <script>
/* applies yellow background color to a single <li> */
$("ul.nav li:eq(1)").css( "backgroundColor", "#ff0" );

/* applies italics to text of the second <li> within each <ul class="nav"> */
$("ul.nav").each(function(index) {
  $(this).find("li:eq(1)").css( "fontStyle", "italic" );
});

/* applies red text color to descendants of <ul class="nav"> */
/* for each <li> that is the second child of its parent */
$("ul.nav li:nth-child(2)").css( "color", "red" );
</script>

您需要提供每个函数,其中find()每个tr:eq(0)或使用tr:first-child notation