DOM - 元素节点属性

元素节点属性
childNodes和firstChild和lastChild
1.childNodes  //获取当前元素节点的所有的子节点
举个小例子:
运行结果返回了一个节点列表:
节点列表是装有当前元素节点所有的子节点
我们可以看一下当前节点列表的长度:
运行结果为3:
这三个元素节点分别就是em、strong和文本内容
这时候就要涉及到我们之前学的DOM节点的三种类型
元素节点   文本节点   属性节点
这三个节点又有三个非常重要的属性:
分别为:nodeName、nodeType和nodeValue
对于这三个属性不同节点类型转换出来的效果不一样
例如:document.getElementById(‘box’).nodeType;  //返回1就为元素节点
★★★
childNodes包括的节点有元素节点和文本节点两种
举个小例子:
运行结果对应上面表应该为节点名称em,1和null
同样我们再来看一下文本节点:
运行结果为#text、3和文本内容
2.firstChild和lastChild  //找到当前元素节点的首位和末位
举个小例子:
运行结果为EM和strong
以上就是元素节点属性的方法
删除空白节点
我们还是拿上面的例子来看:
运行结果如下:
那么为什么我们改变div的书写格式后,会显示出5个元素节点呢?
我们来分析一下这5个节点:
1.div到em的空白
2.em
3.文本内容
4.strong
5.strong到div的空白
我们去给它进行回车、换行、tab键、空格等,它里面的元素节点就会有变化
因为我们不需要这些空白节点,我们如何将这些空白节点给去除呢?
在我们去除空白节点之前,先要识别空白节点
通过正则表达式来识别空白节点,这里先给大家写一下这次用到的正则表达式,后面会详细讲到。
/^\s+$/.test()
使用这个正则来进行验证,如果符合返回true,否则返回false
我们先来验证一下:
运行结果如下,空格时为true,有字符时为false:
我们这样就可以封装一个函数来进行删除空白节点:
运行结果为:
我们来返回一下文本类型nodeType未删除之前和删除之后分别有几个:
运行结果未删之前为3,删除之后为1如下:
从这里也可以看出,多出来的两个元素节点的类型为文本
但是我们上面的正则表达式 /^s+$/.test() 它原来数据上的子节点并没有发生变化,只是在调用函数时有效果,空白节点还依然存在。
对于这种情况我们就需要firstChild和lastChild这两个
因为这两种方法必须从父节点上删除空白节点,这时候就需要我们重新去封装函数
运行结果如下:
首先它的数量变为了3,它的firstChild变为了EM
注意:
这里删除数组元素的时候必须要倒叙删除!正着删除会混乱。
- 写作不易,大家多多关注,谢谢啦-
---web分享,分享的不只是web
(0)

相关推荐

  • HTML DOM Document 对象的重要性

    HTML DOM 节点 在 HTML DOM (Document Object Model) 中 , 每一个元素都是 节点:文档是一个文档节点.所有的HTML元素都是元素节点.所有 HTML 属性都是 ...

  • DOM - 元素节点属性及Attribute

      元素节点属性  我们继续来看元素节点属性 ownerDocument 属性  功能:返回该节点的文档对象根节点.相当于document 一般就直接用document了,这个用的很少 我们来了解证实 ...

  • DOM - 创建带文本的元素节点

      元素节点操作的方法  DOM不单单可以查找节点,也可以创建节点.复制节点.插入节点.删除节点和替换节点 我们分别来看一下: 1.write  //我们常用的document.write(); 例如 ...

  • DOM - 插入节点和三个Child方法

      插入节点  insertBefor(); 插入 格式:父节点.insertBefor( 插入节点,旧节点 ) 功能:将插入的节点插入到旧节点之前 举个小例子: 创建一个strong节点,将这个节点 ...

  • JavaScript封装函数:获取下一个/上一个兄弟元素节点

    要求: 获得下一个/上一个兄弟元素节点,不包括文本节点等 解决IE兼容性问题 代码实现: 获得下一个兄弟元素节点: function getNextElement(element) { var el ...

  • HTML DOM 元素对象大全

    整理一分HTML DOM 元素对象大全,也叫javascript元素对象大全以备常用: Anchor 对象Anchor 对象表示HTML 超链接 Area 对象Area 对象代表图像映射的一个区域(图 ...

  • HTML DOM 元素对象在实际中的应用

    在 HTML DOM (Document Object Model) 中, 每个东西都是 节点 :文档本身就是一个文档对象所有 HTML 元素都是元素节点所有 HTML 属性都是属性节点插入到 HTM ...

  • HTML DOM 元素对象

    HTML DOM 节点在 HTML DOM (Document Object Model) 中, 每个东西都是 节点 :文档本身就是一个文档对象所有 HTML 元素都是元素节点所有 HTML 属性都是 ...

  • HTML DOM 元素对象总结

    在 HTML DOM 中, 元素对象代表着一个 HTML 元素.元素对象 的 子节点可以是, 可以是元素节点,文本节点,注释节点.NodeList 对象 代表了节点列表,类似于 HTML元素的子节点集 ...

  • [css] 第90天 CSS的overflow属性定义溢出元素内容区的内容会如何处理呢

    今日试题: CSS的overflow属性定义溢出元素内容区的内容会如何处理呢 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我 ...