我已经用脑子搜索了我的脑筋,无法弄清楚如何使这项工作.这是我正在尝试做的事情:
HTML:
<div id=derp>"Hi, my name is.."</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
var div = document.getElementById('derp');
alert(div.innerHTML);
alert(div.innerText);
alert(div.textContent);
Run Code Online (Sandbox Code Playgroud)
所有这些警报都解释并返回结果字符串中的"as ".我希望得到"未经解释的原始文本.
他们都回归:
"Hi, my name is.."
Run Code Online (Sandbox Code Playgroud)
当我想得到:
"Hi, my name is.."
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?最好不试图用一个正则表达式替换的每一个实例"用".
这是我要做的事情的一个长篇故事,但"由于需要进行其他正则表达式匹配/解析,仅仅使用replace()来搜索和替换每个实例都会很难实现.
在此先感谢任何可以保存我的理智的Javascript向导!
引用bobince
当您向浏览器询问元素节点的innerHTML时,它不会为您提供解析为生成该节点的原始HTML源,因为它不再具有该信息.相反,它从存储在DOM中的数据生成新的HTML.浏览器决定如何格式化HTML序列化; 不同的浏览器会生成不同的HTML,并且可能与您最初格式化的方式不同.
总结:innerHTML/innerText/text/textContent/nodeValue/indexOf,他们都不会给你未解析的文本.
唯一可行的方法是使用正则表达式,或者你可以对页面本身进行ajax发布,但这是一种不好的做法.