1.dom对象的innerText和innerHTML有什么区别?
- innerText从对象的起始位置到终止位置的文本内容,去除了HTML标签
- innerHTML从对象的起始位置到终止位置的全部内容,包括HTML标签
2. elem.children和elem.childNodes的区别?
- elem.children返回的数据类型是(HTMLcollection)是元素的子元素集合,但不包括文本节点
- elem.childNodes返回的数据类型(NodeList)是元素的子元素集合,包括HTML节点,所有属性,文本节点
3.查询元素有几种常见的方法?ES5的元素选择方法是什么?
- document.getElementById() :匹配指定ID属性的元素节点
- document.getElementsByClasName(): 方法返回一个类似数组的对象(HTMLCollection类型的对象),包括了所有class名字符合指定条件的元素
- document.getElementByTagName('')返回所有指定标签的元素
- document.getElementByName('')方法用于选择拥有name属性的HTML元素
es5方法
- 1.querySelector()方法返回匹配指定的CSS选择器的元素节点,如document.querySelector(".myclass");
- 2.querySelectorAll方法返回匹配指定的CSS选择器的所有节点
4.如何创建一个元素?如何给元素设置属性?如何删除属性
var newElement = document.createElement('input');创建
newElement.setAttribute('name','user');设置
newElement.removeAttribute('name');删除
5.如何给页面元素添加子元素?如何删除页面元素下的子元素?
appendChild()方法在元素末尾添加元素
insertBefore()方法在某个元素之前插入元素
removeChild()方法可用于删除某元素下的子元素
replaceChild()接受两个参数:要插入的元素和要替换的元素
6. element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?
add(class1, class2, ...)在元素中添加一个或多个不存在的类名。
contains(class)返回布尔值,判断指定的类名是否存在。
item(index)返回索引值对应的元素类名。从 0 开始,在区间范围外则返回 null。
remove(class1, class2, ...)移除元素中一个或多个类名。移除不存在的类名,不会报错。
toggle(class, true|false)在元素中切换类名。
第一个参数为要在元素中移除的类名,并返回 false。 如果该类名不存在则会在元素中添加类名,并返回 true。 第二个是可选参数,是个布尔值用于设置元素是否强制添加或移除类,不管该类名是否存在。
<div id='main'>
<h1 class='head'> one dream </h1>
<input type="text" name='box'><a href="#"> goto... </a>
<p class='newpara' id='para'> one world <span>hello...</span></p>
</div>
7.如何选中如下代码所有的li元素? 如何选中btn元素?
<div class="mod-tabs">
<ul>
<li>list1<li>
<li>list2<li>
<li>list3<li>
</ul>
<button class="btn">点我</btn>
</div>
//选中所有的li元素
document.getElementsByTagName('li')
document.querySelectorAll('li')
//选中btn元素
document.getElementsByClassName('btn')
document.querySelector('.btn')