jQuery查找符合条件的元素

时间:2016-04-20 21:00:04

标签: javascript jquery html

有一个棘手的问题,我想在{em} {em>} {em} class的所有父 <tr>中添加<td>哪个 其中包含<span><div>元素。所以我有一个带有标记的表格如下:

<table>
    <tr>
        <td>
        </td>
        <td>
        </td>
        <td>
            <div>
            </div>
        </td>
        <td>
        </td>
    </tr>
    <tr>
        <td>
            <span></span>
        </td>
        <td>
        </td>
        <td>
            <div>
            </div>
        </td>
        <td>
        </td>
    </tr>
</table>

所以我希望<td> <span>或者<div>能够通过添加来添加 jQuery的 ...

我似乎无法解决如何遍历所有<td>以检查其后代,然后将该类添加到具有<span><div>里面......这可能吗?

感谢你能放下的任何光芒!它让我发疯了!

1 个答案:

答案 0 :(得分:4)

如果trdivspan作为后代,您可以使用 .has() 进行检查:

$('table tr').has('div,span').addClass('someClass');

检查以下代码段

&#13;
&#13;
$('table tr').has('div,span').addClass('someClass');
&#13;
.someClass {
  background-color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>td 1</td>
    <td>td 2</td>
    <td>
      <div>div</div>
    </td>
    <td>td 3</td>
  </tr>
  <tr>
    <td>td 1</td>
    <td>td 2</td>
    <td>td 3</td>
    <td>td 4</td>
  </tr>
  <tr>
    <td><span>span</span>
    </td>
    <td>td 1</td>
    <td>
      <div>div</div>
    </td>
    <td>td 2</td>
  </tr>

  <tr>
    <td>td 1</td>
    <td>td 2</td>
    <td>td 3</td>
    <td>td 4</td>
  </tr>

</table>
&#13;
&#13;
&#13;