Javascript 选择没有元素环绕的内容
在下面的代码中,我想通过使用jquery、javascript或CSS显示父容器中的其他元素来隐藏“Lorem Ipsum是一个虚拟内容”?非常感谢您的解决方案Javascript 选择没有元素环绕的内容,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在下面的代码中,我想通过使用jquery、javascript或CSS显示父容器中的其他元素来隐藏“Lorem Ipsum是一个虚拟内容”?非常感谢您的解决方案 <div class="someWrapper"> Lorem Ipsum is a dummy content <div class="anotherContainer"> <p>Text goes here</p> </di
<div class="someWrapper">
Lorem Ipsum is a dummy content
<div class="anotherContainer">
<p>Text goes here</p>
</div>
</div>
Lorem Ipsum是一个虚拟内容
这里有文字
为此,需要将.someWrapper
元素的textNode
作为目标,并将其从DOM中删除。为此,您可以使用filter()
和remove()
。试试这个:
$('.someWrapper').contents().filter(函数(){
返回this.nodeType==Node.TEXT\u Node;//3
}).remove()
Lorem Ipsum是一个虚拟内容
这里有文字
您可以选择内部内容、清空外部元素并再次追加内部内容:
$(document).ready(function(){
$outer = $('.someWrapper');
$inner = $('.anotherContainer');
$outer.empty();
$outer.html($inner);
});
这里是fiddle:您可以使用一行程序来完成此操作,也可以使用普通JavaScript:
document.getElementsByClassName('someWrapper')[0].firstChild.remove();
或jQuery:
$($('.someWrapper').get(0).firstChild).remove();
您所说的“通过显示其他元素来隐藏它”是什么意思你的意思是掩盖它吗?
另一个容器
的内容是否需要转移到.someWrapper
或用隐藏.someWrapper
的内容。另一个容器
?谢谢Rory,它对我很有效:)你的解决方案只在这种特殊情况下有效,也就是说,如果在另一个容器
中,在文本到达此处之前
存在另一个没有包装器的文本节点,则它将不起作用。@AlessioCantarella您是对的。我想展示最直观、最简单的方法。