0

我有一个具有不同数量的 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/

4

2 回答 2

7

我对你的小提琴做了一个小的改动,它应该可以工作:

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

这首先选择所有divs,然后选择所有第tr一个div

于 2013-07-08T08:11:29.500 回答
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 表示法

于 2013-07-08T08:16:20.397 回答