12

if要素に子があるかどうかを判断するためにステートメントを使用しています。子がない場合は、その要素に対してのみ何かを実行したいと思います。

これが私がやろうとしていることの前提です:

if ($("#div a").children().length > 0){
    $(this).hide();
}

したがって、<a>タグに子がない場合は、その特定の要素(または子がない複数の要素)に対して何かを実行したいと思います。

問題は、それがステートメントthisであるために定義されていないことです。if

私は何かを完全に見逃している可能性がありますが、これを達成する方法がよくわかりません。アドバイスをいただければ幸いです

4

3 に答える 3

11

編集:デモリンクを追加

を使用して条件を確認し、フィルター結果.filterを呼び出すことができます。.hide下記参照、

$("#div a").filter(function () {
  return ($(this).children().length > 0)
}).hide();
于 2012-04-03T22:20:18.290 に答える
9

それぞれを使用して要素を反復処理できます

$('input').each(function(){
  if ($(this).val()) {
    $(this).addClass('has-value');
  }
});
于 2015-10-09T00:02:51.997 に答える
3

簡単な解決策は、要素を変数に配置することです。

var elem = $("#div a");
if (elem.children().length > 0){
    elem.hide();
}
于 2012-04-03T22:21:11.380 に答える