需要使用Javascript替换字符串(html内容)

问题描述 投票:-1回答:2

在代码下面我需要使用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”

提前致谢

javascript string replace
2个回答
0
投票

只是一个想法,尝试将其包装在一个名为字符串的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"

0
投票

我没弄清楚为什么你不能用“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上做了一个例子。看看这个。

https://jsfiddle.net/itanaka/sdbnn76h/4/

© www.soinside.com 2019 - 2024. All rights reserved.