我有dom
结构,如
<div class="container">
<span> test1 </span>
/
<span> test2 </span>
/
<span> test3 </span>
</div>
产生类似
的输出test1/test2/test3
我可以删除span
..但无法从dom中移除slash
..任何人都可以帮我从dom中删除斜杠,这样我就可以获得输出< / p>
test1test2test3
答案 0 :(得分:1)
您可以获取所有.contents()
元素,包括Node.TEXT_NODE
之后.filter()
可用于获取文本节点,然后使用.remove()
。
$('.container').contents().filter(function() {
return this.nodeType == Node.TEXT_NODE
}).remove();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<span>test1</span> /
<span>test2</span> /
<span>test3</span>
</div>
&#13;
答案 1 :(得分:1)
您可以对.childNodes
个父.container
元素进行迭代,检查当前节点的.textContent
是否包含"/"
,如果是,则将当前节点作为参数调用.parentElement.removeChild
var container = document.querySelector(".container");
for (let node of container.childNodes) {
if (node.textContent.indexOf("/") > -1) {
node.parentElement.removeChild(node)
}
}
<div class="container">
<span> test1 </span> /
<span> test2 </span> /
<span> test3 </span>
</div>
答案 2 :(得分:0)
您可以使用children()
功能并修改container
HTML。
var $container = $('.container');
$container.html($container.children());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<span>test1</span>
/
<span>test2</span>
/
<span>test3</span>
</div>
&#13;