选择td中不包含类的跨距

时间:2013-03-24 05:44:49

标签: jquery css-selectors

编辑:我在问题上写错了,道歉。

<td><span class="price"></span></td> //selected
<td></td>          //I want this guy to be selected as well!
<td><span class="price clearance"></span></td>

我基本上想要:选择所有没有span.clearance的td。 这包括没有跨度的td。

我尝试了$('td span:not(".clearance")'); 没有选择<td></td>。有线索吗?

4 个答案:

答案 0 :(得分:2)

您的内部not()选择器不需要引号。

试试这个:

$('td span:not(.clearance)');

修改

由于您提到您还希望返回空td,请尝试使用此jQuery选择器:

$('td span:not(.clearance), td:not(:has(span))');

答案 1 :(得分:0)

$('td > span:not(.clearance)');   try this one.

答案 2 :(得分:0)

尝试以下方法:

<script type="text/javascript">
    $(document).ready(function() {
        $('td span:not(".clearance")').css('border','5px solid red');
    });
</script>
<table>
   <tr>
      <td style="border:5px solid green;"><span class="price">1</span></td>
      <td>2</td>
      <td><span class="price clearance">3</span></td>
   </tr>
</table>

除了您的牌桌遗失<table><tr>标签

之外,我不认为您的原始帖子有任何问题

答案 3 :(得分:0)

对我来说很好。

请参阅以下代码。

console.log($('td span:not(.clearance)'));

http://jsfiddle.net/5Wbye/1/

谢谢,

希瓦