使用.not()和:has()jquery的问题

时间:2012-05-17 14:15:17

标签: jquery jquery-selectors

如果$(“#s4-searcharea”)没有.ms-sbrow类,我正在尝试执行几行代码。请帮忙!我究竟做错了什么?

非常感谢演示。

====== HTML ======

<div class="s4-search s4-rp" id="s4-searcharea" style="display: block;">
  <table width="100%" cellspacing="0" cellpadding="0" border="0" class="s4-wpTopTable">
    <tr class="ms-sbrow">
      <td class="ms-sbcell"><input type="text"></td>
    </tr>
  </table>
</div>

======的jQuery ======

    $('#s4-searcharea').not(':has(".ms-sbrow")', function () {
    $('#explore').addClass('minimal');
    $('#header-home-icon').css('left','3px');
});

2 个答案:

答案 0 :(得分:3)

您可以在#s4 div。

中查看'.ms-sbrow'孩子的长度
if( $('.ms-sbrow','#s4-searcharea').length == 0 ){
    $('#explore').addClass('minimal');
    $('#header-home-icon').css('left','3px');
}

或更多可读(使用儿童())

if( $('#s4-searcharea').children('.ms-sbrow').length == 0 )
   [...]

答案 1 :(得分:0)

鉴于jQuery API,您似乎错误地使用了.not()。请改为使用!运算符。