2015-09-20 143 views
0

如何使用jQuery或普通JavaScript删除下面代码中<nospc/>标记之前和之后的空格? (我知道我可以简单地手动删除空格,但有时它的方便,在未呈现的HTML空格和换行。)在html标记之前和之后删除文本

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

在一个完美的世界<nospc/>会之前和之后删除所有空白本身和<nospc> ... </nospc>将删除标签对之间的所有空白区域。

+1

是''真的标签? – Shadowen

+0

你做了什么? – ItayB

+0

$(“nospc”)。empty()将删除nospc中的所有内容,但是我在上面的代码中看不到打开的nospc标记。 – ItayB

回答

0

尝试利用.contents().each()Node.nextSiblingNode.previousSiblingNode.textContentString.prototype.replace()RegExp/\s+/

$("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())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
 
</script> 
 
<div> 
 
    <img src="" /> <nospc> </nospc> 
 
    <img src="" /> 
 
</div>