javascript – appendChild不工作

前端之家收集整理的这篇文章主要介绍了javascript – appendChild不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
HTML
  1. <ul id="datalist">
  2. </ul>

JavaScript的:

  1. function add(content){
  2. ul=document.getElementsByTagName("ul");
  3. var li=document.createElement("li");
  4. li.innerHTML=content;
  5. ul.appendChild(li);
  6. }

当我调用add,Uncaught TypeError:Object#< NodeList>没有方法’appendChild’被抛出.任何想法为什么?

解决方法

getElementsByTagName()不返回一个元素,它返回一个 NodeList,它是一个类似数组的对象.它基本上意味着你可以使用它作为一个数组.

所以你可以做到:

  1. var ul = document.getElementsByTagName("ul")[0];

但是为什么你不用简单地使用getElementById(),如果该列表有ID呢? ID在整个文档中必须是唯一的,因此此方法只返回一个元素.

  1. var ul = document.getElementById('datalist');

注意:请确保将ul声明为函数的局部变量(add var),除非您在函数之外使用它.

猜你在找的JavaScript相关文章