【发布时间】:2013-12-08 20:24:03
【问题描述】:
我使用 git status 获得了这些输出,其中包含 <file>,我一直在手动添加到 html 文件中。
我正在尝试替换 html 代码标记中的 ,因此 <file> 显示为常规文本而不是标记。
在 Firefox 中,结束标签 </file> 一直被插入。
代码如下:
var codeMe = function(){
var code = document.getElementsByTagName('code'),
text = '';
for(var i=0; i<code.length; i++){
text = code[i].innerHTML;
text = text.replace(/</g, '<')
text = text.replace(/>/g, '>');
code[i].innerHTML = text;
}
};
codeMe();
标签在codeMe() 函数被调用之前就被插入了。当我检查带有codeMe() 的code 时,注释掉了那些</file> 结束标签。
如果我不能阻止浏览器这样做,我只需要在替换 后删除那些额外的标签。虽然如果有的话我更喜欢更好的方法。
【问题讨论】:
-
</file>标签是由解析/序列化周期引起的。如果您不打算在将<file>字符串放入 DOM 之前对其进行 html 编码,那么在使用 innerHTML 进行序列化时,</file>标签是不可避免的。但它们总是完全相同的形式,所以只需字符串查找并删除它们。 -
@Alohci 好的。应该很容易。我只是想可能还有其他方法。
<file>字符串是页面加载时 html 的一部分。
标签: html regex replace innerhtml