原生js取dom节点可能存在的问题
来源:互联网 发布:java防止js注入 编辑:程序博客网 时间:2024/06/05 15:49
在用原生的js的dom指针获取dom节点时,可能出现获取不到的情况,如下面这段html
<ol id="list"> <li>first</li> <li>second</li></ol>
如果我们用document.getElementById("list").firstChild会得到什么,是<li>first</li>吗?实际上你会发现它并不是。用document.getElementById("list").firstChild.nodeType可以查看到nodeType为3,nodeType=3表明这是一个文本节点,nodeType=1才是元素节点,nodeType=9则表明文档的根节点(<html>元素)。firstChild为什么是文本节点,因为dom指针不仅可以指向元素,也可以指向文本节点,而XML存在一个有争议的地方:空格。这里ol节点后面存在一个换行符,它被认为是一个空格,所以它是一个文本节点,作为ol下面的第一个节点,firtChild自然就指向了它。这个问题在IE9及其他主流浏览器上都存在,在IE8和IE7上则不会有这个问题。
为了避免以上的问题,最好使用jquery或dojo等js框架,或者通过判断nodeType来避免选到文本节点。
- 原生js取dom节点可能存在的问题
- javascript之解决dom中存在的空白节点问题
- JS/jQuery判断DOM节点是否存在
- 原生 js 操作dom的方法(创建节点和操作节点的几种方法)
- Cgroups可能存在的问题
- 原生JS中DOM节点相关API合集
- js的DOM(节点属性)
- JS中DOM的节点
- 原生js对dom点的操作
- 原生JS的DOM操作汇总
- 原生js操作dom的笔记整理
- 原生js dom操作
- js原生dom操作
- 原生js操作dom
- 原生js 操作dom
- JS原生DOM笔记
- JS对DOM节点的操作--增加节点,删除节点
- 【经验积累】JS,HTML DOM 在dom操作获取节点时,要注意文本节点的问题
- 总结:复合数据对象
- 一套较完整的技术框架
- 听秒针讲创业
- Tomcat并发数优化的方法总结
- 小小菜鸟原创
- 原生js取dom节点可能存在的问题
- Gcc和g++
- 光学字符识别 OCR
- Android内存管理机制
- 作为一名架构师,我们应该掌握哪些技术呢?
- RING0级暴力搜索内存检测系统隐藏进程(或ROOTKIT)(实测可运行)
- uva 167 - The Sultan's Successors
- QMenu初试
- Boost Asio 实现的UDP异步监听和TCP异步发送程序