Javascript cloneNode不是一个函数

Javascript cloneNode不是一个函数,javascript,html,Javascript,Html,我有几个跨度: <span name="5">a</span> <span name="5">b</span> <span name="5">c</span> <span name="5">d</span> 但如果spans.cloneNode不是函数,则会出现异常 知道为什么吗?cloneNode是HTMLElement的一种方法,而不是节点列表的方法 您必须在单个元素上调用它: var clon

我有几个跨度:

<span name="5">a</span>
<span name="5">b</span>
<span name="5">c</span>
<span name="5">d</span>
但如果spans.cloneNode不是函数,则会出现异常


知道为什么吗?

cloneNode
HTMLElement
的一种方法,而不是
节点列表的方法

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

var clonedSpan = spans[0].cloneNode(true);

getElementsByName
返回一个
NodeList
<代码>克隆节点
需要一个
节点
。您可能想克隆该列表中的第一个/唯一元素。使用以下代码克隆所有节点:
var clonedSpan=Array.from(span).map(function(node){return node.cloneNode(true);}
请解释下一票。我想他想克隆的是span集合,而不仅仅是第一个(不是我的下一票)@ZakariaAcharki但例外情况是spans.cloneNode不是一个函数。知道为什么吗?是的,我知道,但答案并不能解决主要问题…无论如何祝你好运,帖子已经标记为重复。。
var clonedSpan = spans[0].cloneNode(true);