Javascript。“更换元件”&书信电报;termref/>&引用;用常规的;“文本”;

Javascript。“更换元件”&书信电报;termref/>&引用;用常规的;“文本”;,javascript,Javascript,我有一个充满文本和元素的文档。我看起来像这样: <document> <body> <p>Here is some text</p><p>This is some <termref /> text</p> </body> </document> 这是一些文字这是一些文字 我想用文本“更多”替换。我希望得到的结果是: <p>Here is some text</p&g

我有一个充满文本和元素的文档。我看起来像这样:

<document>
<body>
<p>Here is some text</p><p>This is some <termref /> text</p>
</body>
</document>

这是一些文字

这是一些文字

我想用文本“更多”替换
。我希望得到的结果是:

<p>Here is some text</p><p>This is some more text</p>
这是一些文本

这是更多的文本

我使用第三方软件,所以我不能使用jQuery或任何其他API,只能使用Javascript


有什么想法吗?

您的标签无效。但如果不是自动关闭,可以使用outerText属性:

<p>Here is some text</p><p>This is some <termref></termref> text</p>
<script>
    document.getElementsByTagName("termref")[0].outerText = "more";
    // Or using querySelector
    document.querySelector("termref").outerText = "more";
</script>

首先,您应该设置一个程序来检测*.html文档的全部内容,并将该内容设置为字符串。然后,您所要做的就是使用一个函数来检测子字符串termref元素(stackoverflow不喜欢输入原始html元素:P),并将其替换为w/“more”。有很多方法可以有效地执行此操作。

您的
不是有效的HTML标记。仅仅因为你把
/
放进去了,它就不会变成一个空元素。浏览器可能会认为<代码>文本<代码>是该元素的一个子元素,以<代码>文本< /代码>结束,但我不知道它是否会在浏览器之间保持一致。我以为这个补丁只是用于CSS样式。它不仅是CSS,DOM选择可能有效,但我还是把它包括进来只是为了突出显示。我认为在这些浏览器上不能包含任何子项,但不确定是否可以在它们上调用
outerText
这里有一些文本这是一些文本不是working@SHIN很明显,我只选择了一个元素。OP必须确定在什么情况下需要替换元素并编写代码accordingly@user2075124:仅供参考,Firefox不支持
.outerText
。最安全、最兼容的方法是使用父节点的
.replaceChild
将节点与新文本节点交换。
<!--[if lt IE 9]> 
<script> document.createElement("termref"); </script>
<![endif]-->