JavaScript DOM2级绑定的优点以及兼容性问题
问题
DOM2级绑定的优点以及兼容性问题
答案
文档元素属于nodeList集合,该集合属于动态的,每当文档结构发生变化时,它们都会得到更新。
因此,它们始终都保存最新、最准确的信息。
兼容性(待大家补充):
- 所有IE(6、7、8、9)中getElementsByName不能获取到非表单元素(例如
<li></li>
)以下是解决方法:
var lis = document.getElementsByTagName('*');
var aLi = [];
for (let index = 0; index < aLi.length; index++) {
if (lis[i].getAttribute('name') == 'liOption') {
aLi.push(lis[i]);
}
}
- getElementById(‘id’);有兼容性问题 IE6、7版本对ID不区分大小写 而其他浏览器严格区分大小写。
- var oText=document.createTextNode(‘我用DOM方法创建的第一个节点’);//IE中可以不写参数 火狐中必须写。
- previousElementSibling;//只表示oLi6的元素哥哥(就是它的上一个元素节点)老版浏览器都不支持如IE6、7、8。
- firstElementChild//指它的第一个元素子节点,老版浏览器都不支持如IE6、7、8。
注意:DOM1级的目标主要是映射文档的结构,如html结构。DOM2级在DOM1基础上又扩充了鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块,而且通过对象接口增加了对CSS的支持。
//DOM二级时间是定义在EventTarget上的;也就是【oUl.__proto__.__proto__.__proto__.__proto__.__proto__
】Oul找五层;基类是Object;所以DOM2性能没有DOM0级好;
DOM一级事件,同一个事件绑定多个处理方法时候,后面的绑定会覆盖前面的绑定;DOM2可以给click绑定多个事件,解决了这个问题;
ele.onclick=fn1;
ele.onclick=fn2;
这样处理的结果就是,ele的onclick事件上,fn2方法吧fn1方法给覆盖了,这样不容易实现同一个事件上绑定多个方法;
DOM2绑定方法是;
W3C给出的方法是这样的;
ele.addEventListener(“click”,fn,false);
IE678给出的方法是
ele.attachEvent(“onclokck”,fn)
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
面试题 | ||
---|---|---|
HTML | CSS | JavaScript |
jQuery | Vue.js | React |
算法 | HTTP | Babel |
BootStrap | Electron | Gulp |
Node.js | 前端经验相关 | 前端综合 |
Webpack | 微信小程序 | - |
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!