我正在阅读“ Web Components mit Polymer”一书,并尝试了该书中的以下代码:

<!doctype html>
<html>
<body>
<template id="tpl">
    <h1 class="title"></h1>
    <div class="body"></div>
</template>
<script>
    var tplContent = document.getElementById("tpl").content;
    var node = tplContent.importNode(true);
    node.querySelector("h1").textContent = "Hallo Welt";
    node.querySelector("div").textContent = "Ich komme aus einem Template";
    document.body.appendChild(node);
</script>
</body>
</html>


但是我只是在第二个JS行中停了下来,并报错:


  未捕获的TypeError:tplContent.importNode不是函数


我在Ubuntu上使用Google Chrome版本63.0.3239.84。
有人可以帮我这个忙吗?

问候,
阿图尔

最佳答案

您在这里有一个错误:

var node = tplContent.importNode(true);


tpl没有功能importNode()

如果要使用importNode

var node = document.importNode(tplContent, true);




<!doctype html>
<html>
<body>
<template id="tpl">
    <h1 class="title"></h1>
    <div class="body"></div>
</template>
<script>
    var tplContent = document.getElementById("tpl").content;
    var node = document.importNode(tplContent, true);
    node.querySelector("h1").textContent = "Hallo Welt";
    node.querySelector("div").textContent = "Ich komme aus einem Template";
    document.body.appendChild(node);
</script>
</body>
</html>

09-25 19:50