我将如何使用 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 .
我将如何使用 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 .
您可以隐藏特定父项的所有子元素。
由于隐藏元素的后代无论如何都不会显示,因此无需遍历所有元素find("*")
:
$("#theParent").children().hide();
或者,正如 gdoron 建议的那样:
$("#theParent > *").hide();
上面可能会更快,因为它使用纯 CSS 选择器。
$('*').hide()
将删除所有文档的所有标签。$('#parent *').hide()
父元素内的所有元素。
听起来您想隐藏特定包含元素的后代。
$(container).find('*').hide();
jQuery 也有一个简写形式:
$('*', container).hide();
$('p *').hide()
如果整个文本都在一个<p>
元素中,您可以执行类似的操作。
如果您只想隐藏它们,但仍然占用空间,请将它们的可见性设置为隐藏
$('p *').css('visibility', 'hidden');
元素仍会占用空间,但不可见。
只要你有一个父容器就很容易:)
<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>