记1月17日作业

Q1: dom对象的innerText和innerHTML有什么区别?

在dom中innertext是一个可写属性,返回元素内包括的文本内容,在多层次时会由浅到深的顺序进行拼接。
innerHTML、outerHTML与innertext相类似,差别只体现在返回元素的结构上。
而innerHTML和outerHTML的差别体现在显示代码是否包含其本身。


记1月17日作业_第1张图片
1.png

Q2:elem.children和elem.childNodes的区别?

children:只会查询子元素的列表,不包含其文本节点;
childNodes:会查询子元素的列表,包含其文本节点。


记1月17日作业_第2张图片
2.png

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

  1. getElementsById():返回匹配指定的ID属性的元素节点,若是未匹配的,则返回null。
  2. getElementsByClassName():返回一个类似数组的对象,包括了所有class名字符合指定条件的元素(搜索范围包括本身,元素变化实时反映在返回结果中)。
    getElementsByClassName方法的参数,可以是多个空格分隔的class名字,返回同时具有这些节点的元素。
  3. getElementByTagName():返回所有指定标签的元素(包括本身),返回值为HTMLCollection对象,搜索结果是一个动态的集合,任何元素的变化都实时的反映在结果中。
  4. getElementsByName():用于选择拥有name属性的HTML元素,例如:from、img、fram、embed和object,返回一个NodeList格式的对象,不会实时反映元素的变化
  5. querySelector():返回匹配指定的CSS选择器的元素节点,若多个匹配点,则选取第一个;若没有,则返回null。
  6. querySelectorAll():选取所有匹配的元素节点。
  7. elementFromPoint():返回位于页面指定位置的元素。
    ES5的元素选择方法是querySelector()、querySelectorAll()、elementFromPoint()。

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

1.createElement()用来生成HTML元素节点
var newDiv = document.createElement("div")
2.setAttribute()用于设置元素属性
var node = documentgetElementById('div1');
node.setAttribute("my_attid","newVal")
3.removeAttribute():用于删除元素属性
newDiv.removeAttribute('id')

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

添加元素:
var newDiv = document.reateElement("div");
var newContent = document.CreateTextNode("Hellow");
newDiv.appendchild(newContent);
document.body.appendChild(newDiv)
删除元素:
document.body.removeChild(newDiv)

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

添加一个class:元素.classList.add();
删除一个class:元素.classList.remove();
检查某个元素是否包含一个class:元素.classList.contains()。

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

   
  • list1
  • list2
  • list3

选择li元素:
var node = document.querySelector('li');
选择btn元素:
var btn = document.querySelectorAll('.btn')

你可能感兴趣的:(记1月17日作业)