使用原生javascript我无法让string.replace("<p> </p>", "<P> </p>");
工作,似乎找不到任何要替换的内容。
当我得到
元素的outerHTML或innerHTML时,它返回一个标准空格字符“”,我需要获得该空间的" "
版本。
我将如何做到这一点。我试着写一个正则表达式,但似乎正则表达式找不到任何替换,我知道页面上至少有3-4个。
答案 0 :(得分:0)
它确实有效,但它只取代了第一次出现。您必须使用带有全局标记(/<p> <\/p>/g
)的正则表达式replace()
,但它是no good idea to match html with regex(尽管它可能适用于此特定,简单情况)。
DOM的方式会更清晰:
var paragraphs = document.getElementsByTagName("p");
for (var i=0; i<paragraps.length; i++)
if (paragraphs[i].innerHTML == " ") // does not contain other empty elements
paragraphs[i].innerText = "\uA0";