18910140161

JavaScript-<script>的内部元素文档无法识别-堆栈溢出

顺晟科技

2022-10-18 12:29:47

18

我有一个模板<代码><;脚本>;标记,该标记包含一些HTML代码和我想用JS脚本替换<script>文本。

<代码><;脚本类型=";文本/模板";ID=";元素";>;<;身体>;<;标签ID=";子元素";>;替换我<;/标签>;<;/正文>;<;/脚本>;
在它

之后,我有一些JavaScript:

<代码><;脚本>;设str=";一些文字";<;/脚本>;
最好的方法是

什么?

我已经尝试使用label,但它没有执行任何操作。

谢谢了


顺晟科技:

脚本标记中未被解释为JavaScript的

标记将被完全忽略。DOM中不存在<script type="text/template" id="element"> <body> <label id="sub-element">Replace me</label> </body> </script> 元素。

您可以使用DOMParser将内容转换为文档,根据需要对其进行更改,然后将文档转换回文本并在模板中替换它:

<script> 
   let str = "Some text";
</script>
<代码><;script type=“ text/template ” ID=“ element ”>;<;身体>;<;label ID=“子元素”>;替换我<;/label>;<;/正文>;<;/脚本>;

但是,如果您计划做任何类似的重要工作,我强烈建议您使用框架将内容插入到模板中,而不是使用手动DOM操作。例如,使用React,您可以执行以下操作:

document.getElementById("sub-element").innerHTML
<代码><;script crossorigin SRC=“ https://unpkg.com/react@16/UMD/react.development.JS ”>;<;/script>;<;script crossorigin SRC=“ https://unpkg.com/react-dom@16/UMD/react-dom.development.JS ”>;<;/script>;<;DIV类=' react '>;<;/DIV>;

<代码><;身体>;<;标签ID=";子元素";>;替换我<;/标签>;<;脚本>;document.getElementById('子元素').innerHTML=";新句子";<;/脚本>;<;/正文>;

也许你可以试试这个代码。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航