在代码下面我需要使用javascript将“一些字符串”替换为html“整个div”。
这里用一些HTML内容替换字符串(要替换的整个div)和一些字符串
var replaceString = '<div style="page-break-after: always"><span style="display:none"> </span></div>';
var result = htmlContent.replace(replaceString, "SOMESTRING");
var contentArr = result.split('SOMESTRING');
replaceString
没有被替换,可能是因为双引号,冒号存在于那个html div字符串中。 replaceString
没有属性(ID,Class),但只有STYLE属性。
请帮我解决这个问题
如何使用javascript将“整个div”替换为“some string”
提前致谢
只是一个想法,尝试将其包装在一个名为字符串的div中并更改其内部html。
HTML
<div id="string">
<div style="page-break-after: always">
<span style="display:none"></span>
</div>
</div>
JAVASCRIPT
document.getElementById("string").innerHTML = "new string"
我没弄清楚为什么你不能用“SOMETHING”替换它,因为我不知道htmlContent变量是什么。我的猜测是CKEditor生成的内容可能包含一些你没想到的空格。在这种情况下,您可能需要使用正则表达式,如:
var replaceString = /<div\s*style="page-break-after:\s*always">\s*<span\s*style="display:none">\s*<\/span>\s*<\/div>/;
// \s* represents 0 or more white spaces
我在JSFiddle上做了一个例子。看看这个。