我有一个包含一些html和文本的div(动态添加html)结构就像
<div id="contentContainer">
<span>ProductA</span> ; <span>ProductB</span>; prod
</div>
我想从提交按钮上的div contentContainer的内部html中删除最后一个不完整的文本(prod)
为此我使用正则表达式 returnText.replace(/ \ w + $ /,''); ,它工作正常 因为我无法将文本修剪为';'的最后一个索引
但问题不在于用户在不完整的文本中添加一些特殊的字符作为pr \ od 正则表达式失败
所以有任何解决方案来修剪最后一个附加文本div的内部html
或者我可以将文本修剪到最后一个html标记并放置;之后
请建议任何解决方案
答案 0 :(得分:2)
如果你使用的是jquery,你可以拉出所有span元素并用它们替换innerHTML。
$("#contentContainer").html( $("#contentContainer span") );
那应该清理休息的东西。也许不是最好的,但我认为它比内容更好。
答案 1 :(得分:1)
解决方案查看DIV中的最后一个DOM节点,如果它是文本节点,则将文本更改为分号
var lastNode = $('#contentContainer').contents().last()[0]
if (lastNode.nodeType == 3) {
lastNode.textContent=';'
}