如何只排除那些用类嵌套SPAN的TR?

时间:2015-08-20 08:48:18

标签: jquery

我有一张如下表格,一对TD有SPAN与班级"排除"

<table class="abc">
    <tr>
        <td>1</td>
        <span class="exclude"></span>
    </tr>
    <tr>
        <td>2</td>
    </tr>
</table>

我需要排除所有使用类#34排除SPAN的TR;排除&#34;?

如何做到这一点,我在下面试过,但没有工作,

tr:not(.exclude)

3 个答案:

答案 0 :(得分:0)

我假设你的html是有效的,因为你已经说明了couple of TD having SPAN with class "exclude。这使你的HTML变为:

<table class="abc">
<tr>
  <td>1</td>
  <td><span class="exclude"></span></td>
</tr>
<tr>
  <td>2</td>
</tr>
</table>

因此,您可以将:not:has选择器一起使用:

$('tr:not(:has(.exclude))');

<强> Working Demo

答案 1 :(得分:0)

您的HTML无效,您需要将跨度放在td元素中。

然后在jQuery中你可以使用.not()和:has()过滤器

$('tr').not(':has(.exclude)').css('color', 'red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="abc">
  <tr>
    <td>1<span class="exclude"></span></td>
  </tr>
  <tr>
    <td>2</td>
  </tr>
</table>

答案 2 :(得分:0)

这样做:

$('tr').not(".exclude")

将跨度放入像普通人一样的td元素

之后