6

私は次のHTMLを持っています:

<div id="rightCon">




                    </div>

そして、上部に次のスクリプトがあります。

$('#rightCon:empty').hide();

div が非表示にならないのはなぜですか? いくつかのスペースがあることがわかります (取り除くことができません) が、それは本当に問題ですか? スペースのみで空の場合、この div を削除/非表示にするにはどうすればよいですか?

4

3 に答える 3

7

要素には空白がたくさんあるように見え、テキストノードになります。:emptyそのため、一致しません。

要素を見つけて、その内容を明示的に確認してみてください。

$('#rightCon').filter(function() {
  var text = $(this).text().replace(/\s*/g, '');
  return !text;
}).hide();
于 2013-09-06T23:45:01.460 に答える
1

あなたのdivは実際にはありませんempty(空白が含まれています)。そのため、セレクター$("#rightCon:empty")は を評価して非表示にすることはありませんdiv

要素は一意である必要があるためHTML、次の方法で正しい要素を選択できると安全に想定できます。

var rightCon = $("#rightCon");

次に、次の方法で要素を非表示にできます。

right.hide();

または

 $("#rightCon").hide();
于 2013-09-06T23:45:50.027 に答える