我有以下HTML输出,我无法更改:
<td class="test"><a>link1</a>;<a></a>;<a></a>;<a>link</a><td>
我怎样才能摆脱;结果变成了:
LINK1; LINK2
这是我最好的尝试:
var test = new String($(this).html());
var tmp = ">; <A><"
test = test.replace(/tmp/g,"><A><");
答案 0 :(得分:3)
您可以浏览:empty
<a>
个元素,并将它们与循环中的下一个兄弟";"
文本节点一起删除,如下所示:
$(".test a:empty").each(function() {
if(this.nextSibling.nodeValue == ";")
this.parentNode.removeChild(this.nextSibling);
}).remove();
这只是获取空锚,并且在从DOM中删除它们之前,循环查看它们的尾随文本节点以查看它们是否在内容中明确";"
...如果是这种情况那么我们从父<td>
中删除该文本节点。然后在那个循环之后,我们删除了我们在第一时间找到的所有空锚。