Javascript 对JS中的同一节点多次使用appendChild

Javascript 对JS中的同一节点多次使用appendChild,javascript,appendchild,Javascript,Appendchild,我正在为一个具有多个评级的表单编写一个表单验证脚本,我想为用户错过的每个评级插入一段文字,上面写着“给一个评级!”。我编写了下面的代码来实现这一点,但我遇到了一个问题,即give_rating节点仅附加到表单上的最后一个节点。我知道这是因为appendChild基本上是移动一个节点而不是复制它,我尝试使用cloneNode解决这个问题,但这完全破坏了我的JS 不管怎样,这是代码。我做错了什么 谢谢你的帮助 克里斯 当我使用这段代码时,整个脚本都失败了。如何为用户未能填写的表单上的每个评分添加“给

我正在为一个具有多个评级的表单编写一个表单验证脚本,我想为用户错过的每个评级插入一段文字,上面写着“给一个评级!”。我编写了下面的代码来实现这一点,但我遇到了一个问题,即give_rating节点仅附加到表单上的最后一个节点。我知道这是因为appendChild基本上是移动一个节点而不是复制它,我尝试使用cloneNode解决这个问题,但这完全破坏了我的JS

不管怎样,这是代码。我做错了什么

谢谢你的帮助

克里斯


当我使用这段代码时,整个脚本都失败了。如何为用户未能填写的表单上的每个评分添加“给予评分!”的实例?

JavaScript区分大小写:
True
应为
True
(小写)

  • 您只能插入创建的html元素或文档片段一次。因此,必须调用cloneNode()函数
  • javascript区分大小写。因此,它应该是
    cloneNode(true)
    ,而不是
    cloneNode(true)
  • 您可以通过按
    F12
    打开浏览器的javascript调试器(Chrome和IE/Edge)。然后你可以看到你的脚本发生了什么

  • 天哪,卡萨布兰卡,我在提交了这个问题之后就下载了Firebug,运行了控制台并解决了这个问题。谢谢你的回复。JS让我发疯:)
    var give_rating = document.createElement('span');
    give_rating.className='small red';
    give_rating.innerHTML = '<strong> &nbsp;Give a rating!</strong>';
    
    document.getElementById('rating1').appendChild(give_rating);
    document.getElementById('rating2').appendChild(give_rating);
    
    document.getElementById('rating1').appendChild(give_rating.cloneNode(True));
    document.getElementById('rating2').appendChild(give_rating.cloneNode(True));