jQuery选择器选择所有行...为什么?

时间:2013-07-02 22:56:03

标签: jquery

我有一个标准的HTML表格在结构中看起来像这样:

<table>
  <tbody>
    <tr>
      <td>FOOTER</td>
      <td>
          ... other td columns
      </td>
    </tr>
    <tr>
      <td>some other row that I don't want selected</td>
      <td>
          ... other td columns
      </td>
    </tr>
  </tbody>
</table>

我想要做的是在td中只选择包含文本FOOTER的tr,然后在所选tr的所有td下将font-weight设置为粗体。我的问题是我的jQuery选择器将表中的所有td设置为粗体,我不确定原因。

到目前为止,这是我的选择器:

$("tr:contains('FOOTER')").children("td").css("font-weight", "bold");

1 个答案:

答案 0 :(得分:4)

也许你的表嵌套在另一个表中。因此tr:contains()将匹配整个表的父tr,然后继续查找td并将其设置为bold ..

<击>也许

<击>
$("td:contains('FOOTER')").siblings().css("font-weight", "bold");

将是一个更好的候选人废弃这个想法,因为它会通过在更高的td 处应用粗体来做同样的事情)< / p>