我正在使用<template>
元素,但其中的javascript代码无法运行。我正在使用IIFE让它立即运行但没有运气。
<div id="content">
initial text
</div>
<template>
<script>
(function(){
document.querySelector('#content').innerHTML = 'new text';
})();
</script>
</template>
答案 0 :(得分:4)
模板内容不会呈现给DOM,因此脚本不会运行。
来自DOCS(第一段)的:
HTML元素是一种用于保持客户端的机制 加载页面时不会呈现的内容但可以 随后在运行时使用JavaScript实例化。
修改强>
在您对如何运行代码发表评论后,有几种方法。简单的就是抓住它的内容并将其放入<div id="content">
initial text
</div>
<template>
<script>
(function(){
document.querySelector('#content').innerHTML = 'new text';
})();
</script>
</template>
<script>
var content = document.querySelector('template').content;
document.body.appendChild(content,true);
</script>
:
{{1}}&#13;