删除html标记之前和之后的文字

时间:2015-09-20 02:51:05

标签: javascript jquery html

如何使用jQuery或纯JavaScript删除下面代码中<nospc/>标记之前和之后的空格? (我意识到我可以简单地手动删除空格,但有时在HTML中有空格和换行符很方便。)

<div>
    <img src="" /><nospc/>
    <img src="" />
</div>

在一个完美的世界中,<nospc/>会删除自身前后的所有空格,<nospc> ... </nospc>会删除标记对之间的所有空白区域。

1 个答案:

答案 0 :(得分:0)

尝试将.contents().each() Node.nextSiblingNode.previousSiblingNode.textContentString.prototype.replace()RegExp /\s+/一起使用

&#13;
&#13;
$("div").contents().each(function(i, el) {
  if (el.nodeName === "#text" && el.nextSibling 
       && el.nextSibling.nodeName === "NOSPC" 
     || el.nodeName === "#text" && el.previousSibling 
       && el.previousSibling.nodeName === "NOSPC" 
     || el.nodeName === "NOSPC") {
         el.textContent = el.textContent.replace(/\s+/g, "")
  }
});

console.log($("div").contents())
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div>
    <img src="" /> <nospc> </nospc> 
    <img src="" />
</div>
&#13;
&#13;
&#13;