20170117作业

课程任务

题目1: dom对象的innerText和innerHTML有什么区别?

区别:
innerText 是一个可写属性,返回元素内包含的文本内容,在多层次的时候会按照元素由浅到深的顺序拼接其内容。(能获取或修改文本内容)
innerHTML属性作用与innerText类似,但不是返回元素的文本内容,而是返回元素的HTML结构,在写入的时候也会自动构建DOM.(能获取或修改html里的所有内容)
例如:

123 456

外层div的innerText返回内容是''123456'' 外层div的innerHTML返回内容是:''

123456

''

题目2: elem.children和elem.childNodes的区别?

区别:
childNodes属性,标准的,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。
children属性,非标准的,它返回指定元素的子元素集合。经测试,它返回HTML节点,甚至不返回文本节点。和childNodes 一样,在Firefox下不支持()取集合元素。
(对于DOM元素,children是指DOM Object类型的子对象,不包括tag之间隐形存在的TextNode,而childNodes包括tag之间隐形存在的TextNode对象。)

题目3:查询元素有几种常见的方法?ES5的元素选择方法是什么?

常见查询元素方法:
document.getElementById();
document.getElementsByTagName();
document.getElementsByClassName();
document.getElementsByName();

ES5的元素选择方法:
document.querySelector();
document.querySelectorAll();
document.ElementFromPoint();

题目4:如何创建一个元素?如何给元素设置属性?如何删除属性

创建元素:

createElement方法用来生成HTML元素节点
var newDiv = document.createElement("div");

create TextNode方法用来生存文本节点,参数为所要生成的文本节点的内容:

var newDiv = document.createElement("div")
var newContent = document.createTextNode("Hello");

createDocumentFragment方法生成一个DocumentFragment对象。(DocumentFragment对象是一个存在于内存的DOM片段,但是不属于当前文档,常常用来生成较复杂的DOM结构,然后插入当前文档。这样做的好处在于,因为DocumentFragment不属于当前文档,对它的任何改动,都不会引发网页的重新渲染,比直接修改当前文档的DOM有更好的性能表现。)
var docFragment = document.createDocumentFragment();

给元素设置属性:
node.setAttribute('属性名', '属性值');

删除属性:
node.removeAttribute('属性名')

题目5:如何给页面元素添加子元素?如何删除页面元素下的子元素?

给页面元素添加子元素:

var newNode = document.createElement("标签名");
fatherNode.appendChild(newNode);

删除页面元素下的子元素:

var newNode = document.createElement("标签名");
fatherNode.appendChild(newNode);
fatherNode.removeChild(newNode);

题目6: element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?

题目7: 如何选中如下代码所有的li元素? 如何选中btn元素?

  • list1
  • list2
  • list3

文章著作权归饥人谷_sunny和饥人谷所有,转载须说明来源

你可能感兴趣的:(20170117作业)