js文档节点关系
这一节简单介绍一下文档节点方面的相关内容:
一:获得节点关系的属性
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文档节点关系的更多相关文章
- js文档节点
一.创建节点: 1.创建元素节点:document.createElement("元素标签名"); 此方法可返回一个 Element 对象 <!DOCTYPE html> ...
- jQuery文档节点处理,克隆,each循环,动画效果,插件
文档节点处理 //创建一个标签对象 $("<p>") //内部插入 $("").append(content|fn) ----->$(&quo ...
- 深入理解DOM节点类型第七篇——文档节点DOCUMENT
× 目录 [1]特征 [2]快捷访问 [3]文档写入 前面的话 文档节点document,隶属于表示浏览器的window对象,它表示网页页面,又被称为根节点.本文将详细介绍文档节点document的内 ...
- gulpfile.js文档
gulp watch 实现监听不仅需要package.json文档,还需要gulpfile.js文档.否则无法实现. 1.gulp的安装 1.1 首先必须先安装node.js.这个可以参考之前的博客& ...
- 使用node.js 文档里的方法写一个web服务器
刚刚看了node.js文档里的一个小例子,就是用 node.js 写一个web服务器的小例子 上代码 (*^▽^*) //helloworld.js// 使用node.js写一个服务器 const h ...
- java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查
一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...
- 使用YUIDoc生成JS文档
其实YUIDoc主页已经写的比较清晰了,但有一些概念和细节再点出一些注意的地方. 目前最新的YUIDoc使用nodejs进行开发安装和使用都非常的方便. 我们只需要将我们的代码加上必要的注释,便可以很 ...
- solr schema.xml文档节点配置
首先,讲解一下/usr/local/solr/collection1/conf/schema.xml的配置,此文档功能类似于配置索引数据库. Field:类似于数据库字段的属性(此文统一使用用“字段” ...
- Java获取XML节点总结之读取XML文档节点
dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...
随机推荐
- 调整LaTeX文档页面的大小
看下面这张图片便一目了然!!! 借助 geometry 包,可以很方便地调整页面大小,常用的参数如图所示,这些参数都可以通过LateX支持的单位(mm, cm, pt, in)去重新设置. ...
- 优化 Markdown 在 Notepad++ 中的使用体验
选择一个强大而好用的文本编辑器,是进行 Web 开发和编程必不可少的一部分,甚至对于通常的写作,一个舒服的文本编辑器也会让你写起文字来觉得优雅而潇洒.Sublime Text 是一款不错的编辑器,简洁 ...
- lojround3
A.绯色 IOI(开端) 首先注意到是完全图,数据范围又很大,肯定要观察一些性质 我们化简一下式子 发现其实是要求simga(xixj)最大 那么结论就很好想了 最大的和次大的第三大的连一起...然后 ...
- [转]利用ssh传输文件
利用ssh传输文件 http://www.cnblogs.com/jiangyao/archive/2011/01/26/1945570.html 在linux下一般用scp这个命令来通过ssh传输文 ...
- asp.net Web API 身份验证 不记名令牌验证 Bearer Token Authentication 简单实现
1. Startup.Auth.cs文件 添加属性 1 public static OAuthBearerAuthenticationOptions OAuthBearerOptions { get; ...
- linux 软中断过高性能优化案例
案例如下: 发现cpu0上的软中断高达50%
- 使用impala对kudu进行DML操作
将数据插入 Kudu 表 impala 允许使用标准 SQL 语句将数据插入 Kudu 插入单个值 创建表: CREATE TABLE my_first_table ( id BIGINT, name ...
- LAMP编译安装部分
# yum install -y apr-devel apr-util-devel pcre-devel # wget http://mirror.bit.edu.cn/apache/httpd/ht ...
- Ubuntu18.04上安装Docker-Compose
1.进入https://github.com/docker/compose/releases 查看最新版本,当前版本为1.23.1 sudo curl -L https://github.com/do ...
- Number Sequence kmp
Problem Description Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], .... ...