Javascript 仅隐藏父div文本
我有一个父div,里面有两个子div 如何隐藏父div(父文本)的文本,使“child1 text”和“child2 text”可见Javascript 仅隐藏父div文本,javascript,jquery,Javascript,Jquery,我有一个父div,里面有两个子div 如何隐藏父div(父文本)的文本,使“child1 text”和“child2 text”可见 父文本 儿童1文本 儿童2文本 您只能隐藏实际元素,而隐藏元素也会隐藏所有元素的子元素,因此您必须将textnodes包装在它们自己的元素中,然后隐藏这些元素: $('#parent').contents().filter(function() { return this.nodeType==3; }).wrap('<span class="tex
父文本
儿童1文本
儿童2文本
您只能隐藏实际元素,而隐藏元素也会隐藏所有元素的子元素,因此您必须将textnodes包装在它们自己的元素中,然后隐藏这些元素:
$('#parent').contents().filter(function() {
return this.nodeType==3;
}).wrap('<span class="text"></span>');
$('.text').hide();
$('#父').contents().filter(函数(){
返回这个.nodeType==3;
}).wrap(“”);
$('.text').hide();
尝试以下方法
$('#parent').contents().filter(function(){
return this.nodeType === 3;
}).remove();
如果您坚持使用纯HTML/JavaScript,您可以将“父文本”包装在
中。即
<div id="parent">
<span id="parent-text-id">parent text</span>
<div id="child1">
child1 text
</div>
<div id="child2">
child2 text
</div>
</div>
父文本
儿童1文本
儿童2文本
这样,您可以在需要隐藏文本时引用该文本。祝你好运 试试看
var x = $('#parent').contents().filter(function(){
return this.nodeType == 3
}).wrap('<span/>').parent().hide()
var x=$('#parent').contents().filter(函数(){
返回this.nodeType==3
}).wrap(“”).parent().hide()
演示:作为替代答案,其他节点将返回并隐藏
#parent
中的所有文本节点,这将仅隐藏第一个子节点
:
$(document.getElementById('parent').childNodes[0]).wrap('<span/>').parent().hide();
$(document.getElementById('parent').childNodes[0]).wrap(''.parent().hide();
您尝试过什么吗?您必须将父文本包装到一个元素中并隐藏该元素。除了将文本放入另一个元素中,您无法概括此内容…我认为不可能隐藏文本内容,但是如果可以用span
之类的东西包装文本内容,那么您可以将其隐藏起来。谢谢您解决了我的问题。您使用了什么nodeType==3。它是什么functionality@Rameez,我没有在别人的答案中添加评论的名声,所以我只在自己的答案中添加评论。本着社区的精神,你应该标记你接受的答案。也许你应该提到,你不能再简单地“显示”文本,因为你删除了它。
$(document.getElementById('parent').childNodes[0]).wrap('<span/>').parent().hide();