题目1: elem.children和elem.childNodes的区别?
- childNodes包括HTML节点,所有属性,文本节点。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。
- children它只返回HTML节点,甚至不返回文本节点
题目2:如何创建一个元素?如何给元素设置属性?如何删除属性
var newElement = document.createElement('input');创建
newElement.setAttribute('name','user');设置
newElement.removeAttribute('name');删除
题目3:如何给页面元素添加子元素?如何删除页面元素下的子元素?
<ul>
<li></li>
<li></li>
</ul>
<script>
var ulnode = document.getElementsByTagName('ul')[0];
var li = document.createElement('li');
var context = document.createTextNode('hello');
li.appendChild(context);
ulnode.insertBefore(li,ulnode.childNodes[0]);
</script>
删除 ulnode.removeChild(li);
注意添加元素时有多种方法,第一种是先造好一个加上去,第二个是先造好了最终把孩子都加起来然后一起加到父节点上
题目4: element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?
- 有add(添加指定的类值)、remove(删除指定的)、item (按索引返回类值)、toggle ()、contains(检查元素中是否有指定的类值)。使用contains方法判断一个元素的class中是否包含某个class。add添加一个class,remove删除一个class。