2012-04-11 93 views
1

我將如何去隱藏所有使用jQuery的HTML標籤。不刪除,但隱藏。我是否需要單獨指定每個標籤或是否有更強大/可擴展的解決方案?隱藏(而不是刪除)所有的HTML標籤 - jQuery的

示例串:

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 . 
+0

你是什麼意思是容易嗎?我想你實際上是想刪除它們,並將兩個版本都保存在變量中。 – Brad 2012-04-11 22:48:35

+0

我只想隱藏它們。那可能嗎? – Joe 2012-04-11 22:49:35

+0

隱藏_all_ HTML標記?出於什麼目的? – Sparky 2012-04-11 22:56:04

回答

5

可以隱藏特定父的所有子元素。

由於隱藏要素的後代不會反正表示,沒有必要遍歷所有這些與find("*")

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

,或者,如gdoron提示:

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

以上可能會更快,因爲它使用純CSS選擇器。

+0

我覺得'$('#parent> *')。hide();'應該是最快的方法。 – gdoron 2012-04-11 22:52:59

+0

@Joe。不,現在很好。 – gdoron 2012-04-11 22:53:31

2

這聽起來像你想隱藏特定包含元素的後代。

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

jQuery的也有這樣的簡寫形式:

$('*', container).hide(); 
4

$('*').hide()將去除所有標籤的所有文件。 $('#parent *').hide()父元素內的所有元素。

+0

我覺得'$('#parent> *')。hide()'應該是最快的方法。 – gdoron 2012-04-11 22:52:37

1

如果整個文本位於<p>元素中,則可以執行類似$('p *').hide()的操作。

如果你只想隱藏起來,但仍然佔用空間,設置自己的知名度爲隱藏

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

元素仍將佔用空間,但將不可見。

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>