元素节点和文本节点

核心提示本篇文章简要 在学习网页编程的初期,学习CSS将网页每一项叫做标签,后来学习JS的时候叫元素,而本篇讲DOM的就叫节点,其实无论是标签,元素还是节点其实是不同阶段的不同叫法,本质都是一样的JavaScript 子节点 childNod

这篇文章很简短。

在学习web编程的前期,学习CSS把网页的每一项叫做标签,后来学习JS叫做元素,而本文讲的DOM叫做节点。其实不管是标签,还是元素,还是节点,其实都是不同阶段不同的叫法,本质是一样的。

Javascript子节点

子节点和节点类型

是Dom document的缩写。内容的本质是文档节点的操作和使用,“增删查”缺一不可。让我们在ul和li之间建立一个父子关系,如图,用childNodes获取子集的个数。

可以看出为什么明明是两个子集,输出却是5。实际上,childNodes的输出节点不仅包含元素节点,还包含文本节点,也就是说空的白色部分可以视为文本节点。其实IE6-8版本不会有问题,那么这样的兼容性问题怎么解决呢?

在解决这个问题之前,我们先了解一下nodeType。以下是排序后的表格。当使用nodeType时,它输出一串数字。不同的数字意味着不同的事情。我们用这个性质来做判断。

上述childNodes需要区分文本节点和元素节点,非常繁琐。有什么方法可以直接找到元素节点?下面的子方法。

孩子们

我们尝试在IE6-8及更高版本的浏览器中运行web代码,可以发现孩子是兼容的。

父Javascript节点

节点

我们用parentNode打印ul的ParentNode,可以发现节点是网页元素,这一点毋庸置疑。

我们可以利用这个特性做一个【点击隐藏功能】。具体代码如下:

父元素

JS在父节点中也有一个offsetParent方法。此方法用于CSS定位中的父级。下面定义了两个盒子,盒子1和盒子2。他们在CSS定位层面上是父子关系。当我们用代码输出box2的父代时,会显示box1。

您还可以删除box1的position:relative并重新输出box2的父级,它将作为body输出。你自己试试。下面来说说兄弟节点。

Javascript同级节点

FirstChild lastChild第一个和最后一个子节点

为了说明类似的兼容性问题,将第一个和最后一个子节点以及同级节点汇总在一起。

FirstChild和lastChild只支持IE6-8的版本,更高版本的浏览器使用firstElementChild和lastElementChild的方法。为了解决同时兼容所有浏览器的问题,使用了以下代码:

接下来,同样的,我直接用下表总结一下:

设置和获取的属性

上面提到的节点有三种。基于以上,我们来说说元素属性的设置和获取方法。设置元素属性有两种方式,一种是元素属性操作,一种是DOM。

本文先说DOM模式,再来一个,先说getAttribute。

获取getAttribute

首先,在网页中创建8个类,其中三个名为box。

我们使用getAttribute方法再次获取类名。

设置setAttribute

SetAttribute用于设置元素的属性和值。具体参数如下:

移除removeAttribute

RemoveAttribute是删除添加的属性。具体参数如下:

摘要

Javascript就是这样用DOM获取节点,添加操作属性的。学习编程最好的方法就是实践。感谢您的观看。下次见。

 
友情链接
鄂ICP备19019357号-22