在下面的代码中,我定义了一个带有 ID 的脚本,因此我可以从 DOM 访问它。如您所见,我在脚本定义期间请求 DOM 中定义的脚本。这怎么在请求innerhtml调用的时候不递归调用自己呢?
我的猜测是 DOM 解析定义的脚本并将 ID 放入 DOM。在浏览器中执行期间,JS 通过 ID 获取元素并从脚本加载 HTML。感觉会构造一个递归调用,因为在浏览器端执行的时候,我们需要在innerHTML方法中获取HTML,然后再执行JS脚本?
问题:我的假设是否正确,或者我是否遗漏了有关 DOM 的某些信息,如果是,我不知道的是什么?
<script id="myScript">
var x = 1;
var y = 2;
if (x != y) {
var html_code = document.getElementById("myScript").innerHTML;
//More JavaScript Below here
console.log(html_code);
}
</script>
最佳答案
您认为对 .innerHTML
的请求将重新运行 javascript 的假设是错误的。它只会返回元素的文本。
关于javascript - 为脚本定义一个 id 并在同一脚本中引用该 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49280775/