Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅隐藏父div文本_Javascript_Jquery - Fatal编程技术网

Javascript 仅隐藏父div文本

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

我有一个父div,里面有两个子div

如何隐藏父div(父文本)的文本,使“child1 text”和“child2 text”可见


父文本
儿童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();