jQuery addClass 到第二个表
Posted
技术标签:
【中文标题】jQuery addClass 到第二个表【英文标题】:jQuery addClass to second Table 【发布时间】:2011-04-25 18:03:50 【问题描述】:我一定会丢失它,但我无法将类添加到第二个表(ID 为“table2”),类似于下面的代码。在我当前的代码中,表没有用 id 标记,我这样做只是为了向您展示我需要向哪个表添加一个类。
<div id="content_area">
<table id="table1">
<tr>
<td>data</td>
<td>
<table><tr><td>data</td></tr></table>
<table><tr><td>data</td></tr></table>
</td>
<td>
<table><tr><td>data</td></tr></table>
</td>
</tr>
</table>
<table id="table2"><tr><td>data</td></tr></table>
</div>
$('#content_area').find('table:eq(1)').addClass('stuff');
【问题讨论】:
【参考方案1】:这对我有用:
$('#content_area').children('table:eq(1)').addClass('stuff');
这需要对现有代码进行最少的更改。
【讨论】:
这是正确的,我仔细检查了我的代码,我试图抓取的表格实际上是在一个 FORM 中,但这基本上起到了作用【参考方案2】:怎么样
$('#content_area > table:nth-child(2)').addClass('stuff');
【讨论】:
这将为每个第二个孩子添加类,即两个表将获得类的东西。 jsfiddle.net/naveed_ahmad/aLmc2/4 现在完美,比遍历每个孩子并找到正确的索引优化了很多【参考方案3】:试试:
$('#content_area table').eq(4).addClass('stuff');
在您的示例中,带有id="table2"
的表实际上是 content_area 内的第 5 个表。开始计算每个<table>
标签。
如果表 1 中的表是动态的,您可能应该使用:
$('#content_area').children('table:eq(1)').addClass('stuff');
这将查看 content_area 的直接子级并从这些子级获取第二个表。 [根据Kevin Buchan的回答]
见:http://jsfiddle.net/tAZht/2/
【讨论】:
不幸的是我的原始代码是动态的,我不能指望静态表,所以这个数字可能会随着第一个表('table1')中生成的表的确切数量而变化。 更新了我的答案,@Kevin Buchan 的答案可能会在动态表的情况下对您有所帮助以上是关于jQuery addClass 到第二个表的主要内容,如果未能解决你的问题,请参考以下文章
Haversine 公式,PHP,如果条件适用,则添加到第二个表中
在 Scala Play 框架中映射 OneToMany 不向第二个表插入数据