如何使用jQuery删除两个元素之间的文本

时间:2013-05-16 08:29:20

标签: javascript jquery text dom-manipulation

所以我得到了以下html:

<ul>
   <li><a href="#">test</a></li>
   /
   <li><a href="#">test</a></li>
   /
   <li><a href="#">test</a></li>
   /
   <li><a href="#">test</a></li>
<ul>

可悲的是,这是由分叉的Plone扩展生成的,我无法更改输出。该列表在不同页面上具有不同数量的元素。

我需要做的就是删除列表元素之间的斜线。 到目前为止,我无法想出一个好的解决方案。

使用Javascript或jQuery有一个简单的强大解决方案吗?

3 个答案:

答案 0 :(得分:13)

使用.contents().filter()过滤掉所有下一个节点(nodeType == 3),然后使用.remove()删除它们

$('ul').contents().filter(function(){
    return this.nodeType == 3
}).remove()

演示:Fiddle

答案 1 :(得分:0)

尝试:

document.getElementsByTagName("ul")[0].textContent.replace(/\//g,"")

答案 2 :(得分:0)

将输出分配给名为var outPut的字符串,然后

outPut.replace('/','');

output.replace('a><li','a></li');