在html标记之前和之后删除文本
问题描述:
如何使用jQuery或普通JavaScript删除下面代码中<nospc/>
标记之前和之后的空格? (我知道我可以简单地手动删除空格,但有时它的方便,在未呈现的HTML空格和换行。)在html标记之前和之后删除文本
<div>
<img src="" /><nospc/>
<img src="" />
</div>
在一个完美的世界<nospc/>
会之前和之后删除所有空白本身和<nospc> ... </nospc>
将删除标签对之间的所有空白区域。
答
尝试利用.contents()
,.each()
Node.nextSibling
,Node.previousSibling
,Node.textContent
,String.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>
是'' 真的标签? –
Shadowen
你做了什么? – ItayB
$(“nospc”)。empty()将删除nospc中的所有内容,但是我在上面的代码中看不到打开的nospc标记。 – ItayB