这一节简单介绍一下文档节点方面的相关内容:

一:获得节点关系的属性

  1、获得该元素父节点的引用:obj.parentNode;

        <div class="content">
<p class="img1"><img src="img/lingzhiling.jpg" /></p>
<p class="img2"><img src="img/yufeihong.jpg" /></p>
</div>
<script type="text/javascript">
var content = document.getElementsByClassName('content')[0];
var img1 = document.getElementsByClassName('img1')[0];
var img2 = document.getElementsByClassName('img2')[0];
// 获得父节点的引用
img1.onclick = function() {
this.innerHTML = this.parentNode.className;
}
</script>

  

  2、获得该对象的子节点的集合obj.childNodes;

  注意:元素中的空格被视为文本,而文本被视为节点

  提示:您可以使用 length 属性来确定子节点的数量,以NodeList为对象,然后您就能够遍历所有的子节点并提取您需要的信息。

        <div class="content">
<p class="img1"><img src="img/lingzhiling.jpg" /></p>
<p class="img2"><img src="img/yufeihong.jpg" /></p>
</div>
<script type="text/javascript">
var content = document.getElementsByClassName('content')[0];
var img1 = document.getElementsByClassName('img1')[0];
var img2 = document.getElementsByClassName('img2')[0];
// 获得子节点的集合
var childs = content.childNodes; // 元素中的空格被视为文本,而文本被视为节点。
</script>

  3、返回该对象的第一个子节点的引用:obj.firstChild;

  注释:在 HTML 中,文本本身是 HTML 元素的父节点,HEAD 和 BODY 是 HTML 元素的子节点。以Node为对象

        <div class="content">
<p class="img1"><img src="img/lingzhiling.jpg" /></p>
<p class="img2"><img src="img/yufeihong.jpg" /></p>
</div>
<script type="text/javascript">
var content = document.getElementsByClassName('content')[0];
var img1 = document.getElementsByClassName('img1')[0];
var img2 = document.getElementsByClassName('img2')[0];
/*获得第一个子节点的引用*/
img2.onclick = function(){
console.log(content.firstChild.nextElementSibling);
this.innerHTML = document.firstChild.nodeName;
}
</script>

  

  4、返回列表中最后一个子节点;obj.lastChild

  注释:lastChild 属性返回指定节点的最后一个子节点,以 Node 对象。

  

  5、获得下一个兄弟节点的引用:obj.nextSibling

  注释:元素中的空格被视作文本,而文本被视作文本节点。请尝试在两个 <p> 元素之间添加空格,结果将是 "undefined"。如果没有 nextSibling 节点,则返回值为 null。

        <div class="content">
<p class="img1"><img src="img/lingzhiling.jpg" /></p><p class="img2"><img src="img/yufeihong.jpg" /></p><p class="text1">第一个</p><p class="text2">第二个</p>
</div>
<script type="text/javascript">
var content = document.getElementsByClassName('content')[0];
var img1 = document.getElementsByClassName('img1')[0];
var img2 = document.getElementsByClassName('img2')[0];
/*获得下一个兄弟节点的引用*/
img1.onclick = function(){
img1.innerHTML = img1.nextSibling.className;
}
</script>

  6、获得上一个兄弟节点的引用:obj.previousSibling ;

js文档节点关系的更多相关文章

  1. js文档节点

    一.创建节点: 1.创建元素节点:document.createElement("元素标签名"); 此方法可返回一个 Element 对象 <!DOCTYPE html> ...

  2. jQuery文档节点处理,克隆,each循环,动画效果,插件

    文档节点处理 //创建一个标签对象 $("<p>") //内部插入 $("").append(content|fn) ----->$(&quo ...

  3. 深入理解DOM节点类型第七篇——文档节点DOCUMENT

    × 目录 [1]特征 [2]快捷访问 [3]文档写入 前面的话 文档节点document,隶属于表示浏览器的window对象,它表示网页页面,又被称为根节点.本文将详细介绍文档节点document的内 ...

  4. gulpfile.js文档

    gulp watch 实现监听不仅需要package.json文档,还需要gulpfile.js文档.否则无法实现. 1.gulp的安装 1.1 首先必须先安装node.js.这个可以参考之前的博客& ...

  5. 使用node.js 文档里的方法写一个web服务器

    刚刚看了node.js文档里的一个小例子,就是用 node.js 写一个web服务器的小例子 上代码 (*^▽^*) //helloworld.js// 使用node.js写一个服务器 const h ...

  6. java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

    一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...

  7. 使用YUIDoc生成JS文档

    其实YUIDoc主页已经写的比较清晰了,但有一些概念和细节再点出一些注意的地方. 目前最新的YUIDoc使用nodejs进行开发安装和使用都非常的方便. 我们只需要将我们的代码加上必要的注释,便可以很 ...

  8. solr schema.xml文档节点配置

    首先,讲解一下/usr/local/solr/collection1/conf/schema.xml的配置,此文档功能类似于配置索引数据库. Field:类似于数据库字段的属性(此文统一使用用“字段” ...

  9. Java获取XML节点总结之读取XML文档节点

    dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...

随机推荐

  1. 一起学Hive——总结复制Hive表结构和数据的方法

    在使用Hive的过程中,复制表结构和数据是很常用的操作,本文介绍两种复制表结构和数据的方法. 1.复制非分区表表结构和数据 Hive集群中原本有一张bigdata17_old表,通过下面的SQL语句可 ...

  2. dos文件(夹)复制命令:copy和xcopy

    1.copy命令 将一份或多份文件复制到另一个位置. COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ s ...

  3. Python 面向对象1-面向对象介绍

    一.无论用什么形式来编程,我们都要明确记住以下原则: 1.写重复代码是非常不好的低级行为 2.你写的代码需要经常变更,写代码一定要遵循易读,易改的原则 3.函数编程与OOP(面向对象)的主要区别就是O ...

  4. BZOJ1911 [Apio2010]特别行动队 - 动态规划 - 斜率优化

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 UPD(2018-04-01):用Latex重打了公式…… 题意概括 把一个整数序列划分成任意连续的段,使得划分出 ...

  5. 启动tomcat出现Removing obsolete files from server... Could not clean server of obsolete ……错误

    在Eclipse启动tomcat出现"Removing obsolete files from server... Could not clean server of obsolete …… ...

  6. 009 pandas的Series

    一:创建 1.通过Numpy数组创建 2.属性查看 3.一维数组创建(与numpy的创建一样) 4.通过字典创建 二:应用Numpy数组运算 1.获取值 numpy的数组运算,在Series中都被保留 ...

  7. Trident中的DRPC实现

    一:介绍 1.说明 Storm里面引入DRPC主要是利用storm的实时计算能力来并行化CPU intensive的计算.DRPC的storm topology以函数的参数流作为输入,而把这些函数调用 ...

  8. count()函数在count()中参数的讨论

    http://www.cnblogs.com/CareySon/p/DifferenceBetweenCountStarAndCount1.html

  9. mniui里面没有只显示年的控件,monthpicker显示年月,datepicker显示具体到天的日期

    spinner无法出现下拉框,只能一下下的点击. combobox可以出现下拉框,但是一般情况是从url后台取值. 现在可以自己在js里定义需要的值. <td><input id=& ...

  10. APP开发,微信第三方登录的介绍

    去年做了一阵APP相关的开发,经常遇到第三方登陆的需求,比如微信.微博.fb的第三方登陆等等,其实主要的流程都大同小异,这里就以微信为例来介绍,希望对大家有帮助. 微信开放平台(open.weixin ...