要素にxが含まれているがy(jquery)が含まれているかどうかを検索します

StackOverflow https://stackoverflow.com/questions/2154483

質問

<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>

私は見つけたい(そして、classを追加したい) <p> テキストが含まれていないタグ、それ自体またはその子供の内側に直接。

役に立ちましたか?

解決

これは正常に機能します。テストするには、段落の1つからテキストを空にしなければなりませんでした。

var $eles = $('p').filter(function() {
    return $(this).text().length == 0;
});
$eles.addClass("foo");

他のヒント

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

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

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

段落の内部のみを確認したい場合は機能する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top