dom 兼容性问题1_节点部分
AS : ECMAScript xml 、 html js组成: 1,ECMAScript : 是Javascript的核心标准、同时也是一个解释器。 2,DOM: document object model 文档对象模型 html dom / xml dom document.getElementById(); document.getElementsByTagName(); oDiv.getElementsTagName(); oDiv.style.width oDiv.innerHTML getComputedStyle() / obj.currentStyle dom 是关于如何创建、添加、修改或者删除页面元素的标准。 所以与页面相关的操作都属于 dom 操作。 3,BOM : browser object model 浏览器对象模型 到目前还没有一个实质性的标准规范。 dom节点是dom中最基本的组成单元。 层级方式划分 : 父节点 、 子节点 、 兄弟节点 类型方式划分 :元素节点、属性节点、文本节点、注释节点、document节点 层级方式划分 : 父节点 、 子节点 、 兄弟节点 父子节点是上下两层节点之间的关系。 当前节点上面的所有节点都统称为 祖先节点。 当前节点下面的所有节点都统称为 子孙节点。 childNodes : 子节点。 有兼容问题 标准属性 标准浏览器下:会把代码中的换行符解析成空白文本节点。 children : 子节点 非标准属性 不会把换行符解析成空白文本节点 查看变量类型 : typeof 运算符 类型方式划分 :元素节点、属性节点、文本节点、注释节点、document节点 查看节点类型: nodeType 属性 查看节点名称 : nodeName 属性 查看节点的值: nodeValue 属性 nodeType : 1 2 3 8 9 1 元素节点 2 属性节点 3 文本节点 8 注释节点 9 document节点 温馨提示:标签嵌套应该遵循规则。 ---------------------------------------------------------------------------------------- firstChild : 第一个子节点 在标准和ie9下会获取到空白文本节点。 firstElementChild : 标准下获取第一个子元素节点,ie6/7/8不支持。 lastChild : 最后一个子节点 在标准和ie9下会获取到空白文本节点。 lastElementChild : 标准下获取最后一个子元素节点,ie6/7/8不支持。 nextSibling:下一个兄弟节点 在标准和ie9下会获取到空白文本节点。 nextElementSibling:标准下获取下一个兄弟节点,ie6/7/8不支持。 previousSibling:上一个兄弟节点 在标准和ie9下会获取到空白文本节点。 previousElementSibling:标准下获取上一个兄弟节点,ie6/7/8不支持。 1. parentNode : 当前节点的上一层节点(父节点)。 --------------------------------------------------------------------------------------- 封装函数 function getPrev( obj ){ if( !obj || !obj.previousSibling ) return null; //先处理参数为假或者兄弟节点不存在的情况。 return obj.previousSibling.nodeType === 1 ? obj.previousSibling : getPrev( obj.previousSibling ); } function getNext( obj ){ if( !obj || !obj.nextSibling ) return null; //先处理参数为假或者兄弟节点不存在的情况。 return obj.nextSibling.nodeType === 1 ? obj.nextSibling : getNext( obj.nextSibling ); } function getFirst( obj ){ if( !obj || !obj.firstChild ) return null; return obj.firstChild.nodeType === 1 ? obj.firstChild : getNext( obj.firstChild ); } function getLast( obj ){ if( !obj || !obj.lastChild ) return null; return obj.lastChild.nodeType === 1 ? obj.lastChild : getPrev( obj.lastChild ); }
dom 兼容性问题1_节点部分的更多相关文章
- html5中的dom中的各种节点的层次关系是怎样的
html5中的dom中的各种节点的层次关系是怎样的 一.总结 一句话总结:Node节点是所有节点的基类,所以都继承它的方法 1.dom提供在js中动态修改html标签的作用 比如增加修改标签等,并且是 ...
- 第10章 文档对象模型DOM 10.1 Node节点类型
DOM是针对 HTML 和 XML 文档的一个 API(应用程序编程接口) .DOM描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.DOM 脱胎于Netscape 及微软公司创始 ...
- JavaScript HTML DOM 元素操作(节点)
在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType :节点 ...
- Javascript高级编程学习笔记(35)—— DOM(1)节点
DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上 ...
- DOM基础+domReady+元素节点类型判断
DOM节点类型 nodeType element 1 Node.ELEMENT_NODE 元素节点 attr 2 Node.ATTRIBUTE_NODE 属性节点 text 3 ...
- dom 无法找到 body节点问题
最近在学习html dom节点知识时候,对照代码自己敲了一边,始终获取不到文档中的body对象,代码如下(未修改前): <!doctype html> <html> <h ...
- jQuery-1.9.1源码分析系列(十一) DOM操作续——克隆节点
什么情况下使用到克隆节点? 我们知道在对DOM操作过程中如果直接使用节点会出现节点随操作而变动的情况.比如对节点使用.after/.before/.append等方法后,节点被添加到新的地方,原来的位 ...
- DOM创建和删除节点、HTML DOM常用对象[转]
创建和删除节点:——核心DOM 1. 创建单个元素节点:3步: 1. 创建空元素节点对象: var elem=document.createElement("标 ...
- React虚拟DOM具体实现——利用节点json描述还原dom结构
前两天,帮朋友解决一个问题: ajax请求得到的数据,是一个对象数组,每个对象中,具有三个属性,parentId,id,name,然后根据这个数据生成对应的结构. 刚好最近在看React,并且了解到其 ...
随机推荐
- Object-Oriented Metrics: LCOM 内聚性的度量
Object-Oriented Metrics: LCOM https://www.computing.dcu.ie/~renaat/ca421/LCOM.html Object-Oriented M ...
- Service Name Port Number Transport Protocol tcp udp 端口号16bit
https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol The DHCP employs a connectionless ...
- 滚动标签marquee
- spring中实现自己的初始化逻辑
实现这两个listener都可以进行自己的初始化逻辑. InitializingBean.afterPropertiesSet 这个优先调用 ApplicationListener.onApplica ...
- php 使用sendmail发送邮件
php 使用sendmail发送邮件 1.配置php.ini SMTP=smtp.163.com sendmail_from = 17760273453@163.com sendmail_path = ...
- Oracle学习笔记—数据库,实例,表空间,用户、表之间的关系
之前一直使用的关系型数据库是Mysql,而新公司使用Oracle,所以最近从网上搜集了一些资料,整理到这里,如果有不对的地方,欢迎大家讨论. 基本概念: 数据库:Oracle 数据库是数据的物理存储. ...
- ZOJ 3961 Let's Chat 【水】
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3961 题意 给出两个人的发消息的记录,然后 如果有两人在连续M天 ...
- 06_Hadoop配置伪分布式模式详解
查看IP地址,设为手动模式: 配置hadoop用户sudo权限 su切换到root身份,配置vim /etc/sudoers文件,加入 hadoop ALL=(root)NOPASSWD:ALL ...
- VM上安装苹果虚拟机
用了太久的Windows系统,看着Mac OS X的惊艳,相信很多朋友也和我一样,总想着能把玩一把Mac OS X系统吧?如果只是为了体验一下Mac OS X系统而购买一套Mac电脑,那是土豪做的事. ...
- python + Streaming框架的MR实践与优化
Streaming是Hadoop提供的一个可以使用其他编程语言来进行MR编程的API,它使用Unix标准输入输出作为Hadoop和其他编程语言的开发接口,非常轻便.而开发者可以选择自己擅长的编程语言, ...