0

$("#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');
});
4

2 に答える 2

3

#s4 div 内の '.ms-sbrow' チャイルドの長さを確認できます。

if( $('.ms-sbrow','#s4-searcharea').length == 0 ){
    $('#explore').addClass('minimal');
    $('#header-home-icon').css('left','3px');
}

または、より読みやすい (children() を使用)

if( $('#s4-searcharea').children('.ms-sbrow').length == 0 )
   [...]
于 2012-05-17T14:20:45.143 に答える
0

jQuery APIを考えると、.not() を間違って使用しているようです。!代わりに演算子を試してください。

于 2012-05-17T14:18:23.673 に答える