题目1: dom对象的innerText和innerHTML有什么区别?
test.innerHTML:
从对象的起始位置到终止位置的全部内容,包括Html标签。
test.innerText:
从起始位置到终止位置的内容, 但它去除Html标签
test.outerHTML:
除了包含innerHTML的全部内容外, 还包含对象标签自己。
题目2: elem.children和elem.childNodes的区别?
- elem.children:获取当前元素的所有子元素节点
- elem.childNodes:获取当前元素的有所子节点(文本节点或者元素节点)
http://blog.csdn.net/yhn1121/article/details/52461353
题目3:查询元素有几种常见的方法?ES5的元素选择方法是什么?
- 查询元素
getElementById()
getElementsByClassName()
getElementsByTagName()
getElementsByName() //获取有name属性的HTML元素
(HTMLCollection)
- ES5
querySelector()、querySelectorAll() //支持CSS选择器
(NodeList)
题目4:如何创建一个元素?如何给元素设置属性?如何删除属性
- document.createElement("tagname") 创建文本节点
document.createTextNode(''textontent') 创建文本节点
document.createDocumentFragment() 用来生成较复杂的DOM结构,减少渲染次数- element.setAttribute("name","value") 设置属性
- element.removeAttribute("attrName") 删除属性
题目5:如何给页面元素添加子元素?如何删除页面元素下的子元素?
- element.appendChild() 在元素末尾添加元素
parentElement.insertBefore(newElement, referenceElement) 在某个元素前添加元素- parentNode.removeChild(childNode) 删除子元素
- parentNode.replaceChild(newChild, oldChild) 替换子元素
题目6: element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?
http://www.runoob.com/jsref/prop-element-classlist.html
- add(class1, class2, ...) 在元素中添加一个或多个类名。如果指定的类名已存在,则不会添加
- contains(class) 返回布尔值,判断指定的类名是否存在。
- item(index) 返回类名在元素中的索引值。索引值从 0 开始。
- remove(class1, class2, ...) 移除元素中一个或多个类名。注意: 移除不存在的类名,不会报错。
- toggle(class, true|false) 在元素中切换类名。
题目7: 如何选中如下代码所有的li元素? 如何选中btn元素?
<div class="mod-tabs">
<ul>
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<button class="btn">点我</button>
</div>
<script type='text/javascript'>
var ali = document.getElementsByTagName("li")
var bli = document.querySelectorAll('li')
var abtn = document.getElementsByClassName('btn')
var bbtn = document.querySelector('.btn')
console.log(ali, bli)
console.log(abtn)
console.log(bbtn)
</script>
网友评论