jquery,更改父 td 的 css 类

Posted

技术标签:

【中文标题】jquery,更改父 td 的 css 类【英文标题】:jquery, change css class of parent td 【发布时间】:2012-12-19 16:41:54 【问题描述】:

我的表格如下所示:

<table class="content">
<tbody>
   <tr class="fc-first">

      <td class="fc-widget-content fc-day0 fc-first">
    <div>
        <div class="fc-day-number">1</div>
        <div class="fc-day-content">
            <div style="position:relative"> </div>
        </div>
    </div>
      </td>
      <td class="fc-widget-content fc-day1">
    <div>
        <div class="fc-day-number">2</div>
        <div class="fc-day-content">
            <div style="position:relative"> </div>
        </div>
    </div>
      </td>
      <td class="fc-widget-content fc-day2">
    <div>
        <div class="fc-day-number">3</div>
        <div class="fc-day-content">
            <div style="position:relative"> </div>
        </div>
    </div>
      </td>
   </tr>
   <tr class="fc-week1"></tr>
   <tr class="fc-week2"></tr>
</tbody>
</table>

我想将 CSS 类添加到 td 仅基于到目前为止包含 &lt;div&gt; class"fc-day-number"&gt;2&lt;/div&gt; 我的 jquery 代码的内容:

var content_td;
var content = $('.content' );
content_td = content.find('td');

我以为我可以使用嵌套查找,但不知道如何。

【问题讨论】:

这里有很多问题。你的 和 标签没有关闭,$(.content) 应该是$('.content')。建议先解决这个问题。 @PassKit 实际上很好,这是一个错字:在需要的地方将&lt;/tr&gt; 替换为&lt;/td&gt; 【参考方案1】:

你需要的是.closest()方法

$('table.content td[class="fc-day-number"]').closest('td').addClass('SOME_CLASS');

和你的固定 html

<table class="content">
<tbody>

   <tr class="fc-first">

    <td class="fc-widget-content fc-day0 fc-first">
      <div>
        <div class="fc-day-number">1</div>
        <div class="fc-day-content">
            <div style="position:relative"> </div>
        </div>
      </div>
    </td>
    <td class="fc-widget-content fc-day1">
      <div>
        <div class="fc-day-number">2</div>
        <div class="fc-day-content">
            <div style="position:relative"> </div>
        </div>
      </div>
    </td>
    <td class="fc-widget-content fc-day2">
      <div>
        <div class="fc-day-number">3</div>
        <div class="fc-day-content">
            <div style="position:relative"> </div>
        </div>
      </div>
    </td>

   </tr>

   <tr class="fc-week1"></tr>
   <tr class="fc-week2"></tr>

</tbody>
</table>

【讨论】:

【参考方案2】:

确保引用类选择器,使其成为字符串文字。另外,将 content_td 设为变量。

var content = $(".content"); //Quotes added
var content_td = content.find('td');

【讨论】:

以上是关于jquery,更改父 td 的 css 类的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 更改表格元素内容

我需要使用 CSS 和 jQuery 在不更改其位置或 tds 宽度的情况下使输入字段溢出 td

jQuery ui可排序如何更改表结构中的上一个/下一个项目位置

Jquery - 子 div 上的事件侦听器以更改父 div 的 css 属性

jquery怎么修改td里面的值

jquery根据表格中一个<td> 获取同一列其它<td>