dom对象的innerText和innerHTML有什么区别?
innerText对应的是文本节点,innerHTML对应的就直接是相应的html语句。也就是说,你向innerText里面的插入的任何文字都会被解析为普通文字展示,而你向innerHTML里面插入的任何内容都会被当做html语句解析运行。
elem.children和elem.childNodes的区别?
children是子元素列表(HTMLCollection),只包含子HTML节点
childNodes是子元素列表(NodeList),包含HTML节点,文本节点,属性节点
查询元素有几种常见的方法?ES5的元素选择方法是什么?
- document.getElementById(‘id’);
- document.getElementsByTagName(‘tagName’);
- document.getElementsByClassName(‘className’);
- ES5方法
- querySelector()返回匹配指定的CSS选择器的元素节点。如果有多个节点满足匹配条件,则返回第一个匹配的节点。如果没有发现匹配的节点,则返回null。无法选中CSS伪元素。
- querySelectorAll()返回匹配指定的CSS选择器的所有节点,返回的是NodeList类型的对象。NodeList对象不是动态集合,所以元素节点的变化无法实时反映在返回结果中。参数可以是逗号分隔的多个CSS选择器,返回所有匹配其中一个选择器的元素
如何创建一个元素?如何给元素设置属性?如何删除属性
创建元素
- createElement方法用来生成HTML元素节点。
- createTextNode方法用来生成文本节点,参数为所要生成的文本节点的内容。
- createDocumentFragment方法生成一个DocumentFragment对象。
设置属性
- setAttribute()方法用于设置元素属性
删除元素
- emoveAttribute()用于删除元素属性
如何给页面元素添加子元素?如何删除页面元素下的子元素?
添加子元素
- appendChild在元素末尾添加元素
- insertBefore在某个元素之前插入元素
删除子元素
- removeChild()用于删除子元素
element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?
var nodeBox = document.querySelector('.box')
console.log( nodeBox.classList )
nodeBox.classList.add('active') //新增 class
nodeBox.classList.remove('active') //删除 class
nodeBox.classList.toggle('active') //新增/删除切换
node.classList.contains('active') // 判断是否拥有 class
如何选中如下代码所有的li元素? 如何选中btn元素?
<div class="mod-tabs">
<ul>
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<button class="btn">点我</button>
</div>
<script>
var aLi = document.querySelectorAll(".mod-tabs li")
var oBtn=document.querySelector(".btn")
</script>
网友评论