Javascript cloneNode 不是函数

typ*_*mer 3 html javascript

我有几个跨度:

<span name="5">a</span>
<span name="5">b</span>
<span name="5">c</span>
<span name="5">d</span>
Run Code Online (Sandbox Code Playgroud)

getElementsByName用来获取跨度集合:

var spans = document.getElementsByName("5");

我接下来做的是克隆跨度并将其放入另一个跨度容器:

var clonedSpan = spans.cloneNode(true);
var container = document.createElement("span");
container.appendChild(clonedSpan);
Run Code Online (Sandbox Code Playgroud)

但是发生异常时说 spans.cloneNode 不是函数。

知道为什么吗?

Ben*_*enM 10

cloneNode是 a 的方法HTMLElement,而不是a 的方法NodeList

您必须在单个元素上调用它:

var clonedSpan = spans[0].cloneNode(true);
Run Code Online (Sandbox Code Playgroud)