簡體   English   中英

正則表達式替換div的內部html中的字符串

[英]regex to replace a string from the inner html of a div

我有一個包含一些html和文本的div(html是動態添加的)結構類似於

    <div id="contentContainer">
&nbsp; <span>ProductA</span> ; <span>ProductB</span>; prod
</div> 

我想從提交按鈕上的div contentContainer的內部html中刪除最后一個不完整的文本(prod)

為此,我正在使用正則表達式returnText.replace(/ \\ w + $ /,''); 並且它可以正常工作,因為我無法將文本修剪到最后一個索引“;”

但是問題不在於當用戶在pr \\ od上將某些特殊字符放在不完整的文本中時,正則表達式失敗

所以有什么解決方案可以將div的最后html修剪為最后添加的文本,或者可以將文本修剪為最后的html標簽並放置? 之后

請提出任何解決方案

如果您使用的是jquery,則可以提取所有span元素並用它們替換innerHTML。

$("#contentContainer").html( $("#contentContainer span") );

那應該清理休息的東西。 也許不是最好的,但我認為它比內容的正則表達式更好。

解決方案查看DIV中的最后一個DOM節點,如果它是文本節點,則將文本更改為分號

var lastNode = $('#contentContainer').contents().last()[0]

if (lastNode.nodeType == 3) {
    lastNode.textContent=';'
}

演示: http : //jsfiddle.net/EhcLh/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM