1

jquery を使用してすべての HTML タグを非表示にするにはどうすればよいですか。取り除くのではなく、隠す。各タグを個別に指定する必要がありますか? それとも、より堅牢でスケーラブルなソリューションがありますか?

文字列の例:

My name is <b>Joe</b> and I like <span style="color:red;">long walks</span> on the <i>beach</i>.

結果

My name is and I like on the .
4

5 に答える 5

5

特定の親のすべての子要素を非表示にすることができます。

非表示の要素の子孫はとにかく表示されないため、次のようにそれらすべてを反復処理する必要はありませんfind("*")

$("#theParent").children().hide();

または、代わりに、gdoron が示唆するように:

$("#theParent > *").hide();

上記は、純粋な CSS セレクターを使用するため、より高速になる可能性があります。

于 2012-04-11T22:49:41.047 に答える
4

$('*').hide()すべてのドキュメントのすべてのタグを削除します。$('#parent *').hide()親要素内のすべての要素。

于 2012-04-11T22:49:47.253 に答える
2

特定の包含要素の子孫を隠したいようです。

$(container).find('*').hide();

jQuery には、これの省略形もあります。

$('*', container).hide();
于 2012-04-11T22:49:44.660 に答える
1

$('p *').hide()テキスト全体が<p>要素に含まれている場合のように行うことができます。

それらを非表示にするだけで、それでもスペースを占有する場合は、それらの可視性を非表示に設定します

$('p *').css('visibility', 'hidden');

要素は引き続きスペースを占有しますが、表示されません。

于 2012-04-11T22:50:23.183 に答える
0

親コンテナがあれば簡単です:)

<div id='myDiv'>
    My name is <b>Joe</b> and I like <span style="color:red;">long walks</span> on the <i>beach</i>.
</div>

<script>
    $('#myDiv:child').hide();
</script>
于 2012-04-11T22:50:25.727 に答える