DOM 节点关系
来源:互联网 发布:淘宝原创品牌 知乎 编辑:程序博客网 时间:2024/05/29 14:31
DOM1级定义了一个Node接口。
JavaScript中所有节点类型都继承自Node类型。
1.每个节点都有NodeType属性(节点的类型)。
Node类型中定义的12个数值常量:
Node.ELEMENT_NODE(1)Node.ATTRIBUTE_NODE(2)Node.TEXT_NODE(3)Node.CDATA_SECTION_NODE(4)Node.ENTITY_REFERENCE_NODE(5)Node.ENTITY_NODE(6)Node.PROCESSING_INSTRUCTION_NODE(7)Node.COMMENT_NODE(8)Node.DOCUMENT_NODE(9)Node.DOCUMENT_TYPE_NODE(10)Node.DOCUMENT_FRAGMENT_NODE(11)Node.NOTATION_NODE(12)
确定节点类型的方法:
if(someNode.nodeType==Node.ELEMENT_TODE){ //在IE中无效---IE没有公开Node类型的构造函数
alert("Node is an element");
}
if(someNode.nodeType==1){//适用于所有浏览器
alert("Node is a element");
}
2.每个节点都有一个childNodes属性,保存着一个NodeList对象(一种类数组对象)->保存一组有序节点。
NodeList对象是基于DOM结构动态执行查询的结果,因此DOM结构的变化能够自动反映在NodeList对象中。
NodeList是有生命,有呼吸的对象,而不是在我们第一次访问他们的某个瞬间拍摄下来的一张快照。
如何访问保存在NodeList中的节点:
(1)方括号 (2)item()方法
var firstChild = someNode.childNodes[0];
var secondChild = someNode.childNodes.item(1);
var count = someNode.childNodes.length;
将NodeList转换为数组:
function convertToArray(nodes){
var array = null;
try{
array = Array.prototype.slice.call(nodes,0); //针对非ie浏览器
}catch(ex){
array = new Array();
for(var i=0,len = nodes.length;i<len;i++){
array.push(nodes[i]);
}
}
return array;
}
3.每个节点都有一个parentNode
4.通过使用列表中每个节点的previousSibling和nextSibling属性,可以访问同一列表中的其他节点。
if(someNode.previousSibling==null){
alert("first node in the parent's childNodes list");
}else if(someNode.nextSibling==null){
alert("last node in the parent's childeNodes list");
}
父节点的firstChild和lastChild属性分别指向其childNodes列表的第一个节点和最后一个节点。
hasChildNodes() 返回true false
所有节点都有的属性:ownerDocument,指向整个文档的文档节点。这种关系表示任何节点都属于他所在的文档,任何节点都不能同时存在于两个或更多个文档中。通过这个属性,我们可以直接访问文档节点,不必层层回溯到达顶端。
- dom节点间关系
- DOM节点关系
- DOM 节点关系
- DOM节点关系(一)
- 深入理解DOM节点关系
- Dom-docment-通过节点层次关系获取
- JS 中DOM节点的访问关系
- DOM节点访问关系与操作示例
- 利用DOM节点关系访问HTML元素
- DOM(二)DOM节点关系与操作
- 访问DOM节点3——通过节点关系
- DOM(一)-15-(通过节点层次关系获取节点)
- DOM 中文档节点,文本节点之间的关系
- javase36补充(DOM节点的层次关系 操作节点 节点增删改查)
- 【Dom】通过递归获取节点的层次关系
- DOM节点
- DOM-节点
- dom节点
- 给编程生涯充电的 10 本书
- Java 8十个lambda表达式案例
- Delphi ListView基本用法大全
- ubuntu创建U盘启动盘
- WebApi 4大方法初探 get、post、put、delete
- DOM 节点关系
- Android中USB打印机无法创建/dev/usb/lp0节点
- iOS使用imageIO完成渐进加载图片
- htaccess 实现URL重写
- Python安装后pip不能用的问题
- BZOJ 1059, 矩阵游戏
- (斯坦福机器学习课程笔记)正则化和机器学习应用的建议
- [硕.Love Python] HeapSort(堆排序)
- javaWeb文件上传报文分析