js操作DOM事件

问答

1.dom对象的innerText和innerHTML有什么区别?

  • innerText返回的是节点内的文本内容,若是多层嵌套,则文本内容是由浅到深的文本拼接
  • innerHTML返回的是元素的HTML结构,包含DOm节点和文本内容,在写入的时候也会自动构建DOM

2 . elem.children和elem.childNodes的区别?

  • elem.children会返回元素的节点集合,只有元素节点
  • elem.childNodes返回的是包含所有类型的节点,不仅仅是元素节点,里面所有内容都包含在内

3 . 查询元素有几种常见的方法?

  • document.head;document.body;可直接获取文档的head,body节点
  • document.getElementById():返回指定ID属性的元素节点。如果没有发现匹配的节点,则返回null。
  • document.getElementsByClassName():返回返回一个类似数组的对象(HTMLCollection类型的对象)。不仅可以在document对象上调用,也可以在任何元素节点上调用。
  • document.getElementsByTagName():直接返回所有指定标签的元素,也是类数组对象。
  • document.getElementsByName:用于选择拥有name属性的HTML元素,比如form、img、frame、embed和object,返回一个NodeList格式的对象
  • querySelector():返回匹配指定的CSS选择器的元素节点。如果有多个节点满足匹配条件,则返回第一个匹配的节点。
  • querySelectorAll():返回匹配指定的CSS选择器的所有节点,返回的是NodeList类型的对象

4 . 如何创建一个元素?如何给元素设置属性?

  • document.createElement();用于创建一个元素
  • setAttribute()方法用于设置元素属性

5 . 元素的添加、删除?

  • 添加元素:appendChild()在元素末尾添加元素,insertBefore(newContent, newDiv.firstChild):在某个元素之前插入元素;replaceChild(newElement, oldElement);两个参数,要插入的元素和要替换的元素
  • parentNode.removeChild(childNode);删除一个元素

6 . DOM0 事件和DOM2级在事件监听使用方式上有什么区别?

  • DOM0级事件:是传统的处理程序方式,将一个函数赋值给一个事件处理程序,特点:一个函数只能直接绑定在元素上,而且只能处理一个事件
  • DOM2的事件规定了事件处理有三个阶段,捕获 目标 冒泡 使用监听函数,可以对一个元素增加多个监听器,也可以指定在哪个阶段处理程序

7 。 attachEvent与addEventListener的区别?

  • attachEvent和detachEvent是IE早期版本实现事件绑定的方法,后期版本已经支持addEventListener和removeEventListener。他们的主要区别:
  • 1.所传参数个数不同

    addEventListener可以接受3个参数:1. 要处理的事件名。2. 作为事件处理程序的函数。3. 布尔值(ture代表捕获阶段调用事件处理程序false代表冒泡阶段调用事件处理程序,默认为false)
    attachEvent要接受2个参数:1. 要处理的事件名。2. 作为事件处理程序的函数

  • 2.第一个参数意义不同

    addEventListener第一个参数是事件类型(比如click,load)
    attachEvent第一个参数指明的是事件处理函数名称(onclick,onload)

  • 3.事件处理程序的作用域不相同(这是主要区别)

    addEventListener的this就是其所属元素的作用域内运行
    attachEvent会在全局作用域中运行,因此this等于window

  • 4.为一个元素添加多个事件时 执行顺序不同

    addEventListener会以添加他们的顺序执行
    attachEvent的执行是没有顺序的(添加的方法少的时候大多是按添加顺序的反顺序执行的,但是添加的多了就无规律了)。

8 . 解释IE事件冒泡和DOM2事件传播机制?

  • IE事件冒泡:从目标元素身上又一层一层往上传递,最终到html根节点。
  • DOM2事件传播机制:
    • 捕捉阶段(capturing),事件从顶级文档树节点一级一级向下遍历,直到到达该事件的目标节点。
    • 到达事件的目标节点,执行目标节点的时间处理程序。
    • 事件冒泡(bubbling),事件从目标节点一级一级向上回溯,直到顶级文档树节点。

9 . 如何阻止事件冒泡? 如何阻止默认事件?

event.preventDefault();取消世间的默认行为。
event.stoppropagation();阻止事件冒泡。

代码:

  1. git库连接
  2. git库连接
  3. git库连接
  4. git库连接
  5. git库连接
文章目录
  1. 1. 问答
  2. 2. 1.dom对象的innerText和innerHTML有什么区别?
  3. 3. 2 . elem.children和elem.childNodes的区别?
  4. 4. 3 . 查询元素有几种常见的方法?
  5. 5. 4 . 如何创建一个元素?如何给元素设置属性?
  6. 6. 5 . 元素的添加、删除?
  7. 7. 6 . DOM0 事件和DOM2级在事件监听使用方式上有什么区别?
  8. 8. 7 。 attachEvent与addEventListener的区别?
  9. 9. 8 . 解释IE事件冒泡和DOM2事件传播机制?
  10. 10. 9 . 如何阻止事件冒泡? 如何阻止默认事件?
  11. 11. 代码:
,