2
<div>
  <p><a href="#">link</a> some text</p>
  <p><a href="#">link</a></p>
  <p><a href="#">link</a> some text</p>
  <p><a href="#">link</a></p>
</div>

<p>テキストを含まないタグを、それ自体またはその子の内部で直接検索 (および addClass に追加) したいと考えています。

4

2 に答える 2

4

これは問題なく動作します。テストするために、段落の 1 つからテキストを空にする必要がありました。

var $eles = $('p').filter(function() {
    return $(this).text().length == 0;
});
$eles.addClass("foo");
于 2010-01-28T12:43:30.967 に答える
0

例の a タグには常にテキストが含まれているため、問題の説明に誤りがあると思います。

私の知る限り、直接のコンテンツがあるかどうかを確認できる標準セレクターはありませんが、これを試すことができます:

$('p').each(function(){
 var p = $(this).clone();
 p.children().remove();
 if(p.text().length){
   $(this).addClass('gotcha');
  }
});

段落の内部のみをチェックしたい場合に機能するはずです。

于 2010-01-28T12:47:46.280 に答える