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 个表。开始计算每个&lt;table&gt; 标签。

如果表 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 不向第二个表插入数据

jQuery入门第二天

jQuery表单验证

我有两个带外键的表,我想在第一个表中按下外键,第二个表出现数据

jQuery中的dom操作