2012-04-11 92 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>