0

使用本机 javascript 我无法string.replace("<p> </p>", "<P>&nbsp;</p>");正常工作,似乎找不到任何可以替换的东西。

当我得到outerHTML或innerHTML

它以标准空格字符“”返回的元素,我需要获取"&nbsp;"空格的版本。

我将如何去做这件事。我试图编写一个正则表达式来做到这一点,但似乎正则表达式也找不到任何可以替换的东西,而且我知道页面上至少有 3-4 个。

4

1 回答 1

0

它确实有效,但它只取代了第一次出现。您必须使用带有全局标志 ( /<p> <\/p>/g) 的正则表达式 for replace(),但是将html 与正则表达式匹配并不是一个好主意(尽管它可能适用于这种特定的简单情况)。

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";
于 2012-10-14T17:53:07.410 回答