小结下dom节点操作(3)
作者:风月 来源:阿里妈妈UED 发布时间:2011-03-08 10:33:00
获取节点信息:
.nodeName//只读,返回节点名称,相当于tagName.
.nodeValue//可读可写,但对元素节点不能写。返回一个字符串,指示这个节点的值。元素节点返回null,属性节点返回属性值,文本节点返回文本。一般只用于设置文本节点的值。
.nodeType//只读,返回节点类型:1,元素节点;2,属性节点;3,文本节点。
node.contains() //是否包含某节点,返回boolean值,IE支持,FF不支持contains(),但支持W3C标准compareDocumentPosition() .
node.hasChildNodes()//是否有子节点,返回boolean值
属性节点:
setAttribute(key,value)//element.setAttribute(attributeName,attributeValue),setAttribute()方法只能用在属性节点上。
getAttribute(key)//返回一个给定元素的一个给定属性节点的值
备注:
[1]childNodes兼容性问题说明:
用IE的调试工具会发现IE中把空格解析成“#text”,即IE会把2个标签之间只要有回车或空格的地方解析成空白文本节点,就多了个节点nodeName="#text"。而FF中却不会。
测试代码:
//节点之间留有空格和回车
<div id="test1">
<div>first</div>
<div>second</div>
<div>third</div>
</div>
//除注释外,节点间无空格回车
<div id="test2"><div>first</div><div>second</div><div>third</div></div>
var val1=document.getElementById("test1").childNodes.length;
var val2=document.getElementById("test2").childNodes.length;
alert("val1="+val1+":"+"val2="+val2)
测试结果:
IE中是val1=7:val2=3
FF中是val1=3:val2=3
兼容性解决办法:
在for循环里不妨加上:
if(childNode.nodeName=="#text") continue;
或者nodeType == 1。


猜你喜欢
- 本文为大家分享了python链表的基础概念和基础用法,供大家参考,具体内容如下一、什么是链表链表是由多个不同的节点组成,每个节点通过指针区域
- Golang浮点数比较和运算会出现误差。浮点数储存至内存中时,2的-1、-2……-n次方不能精确的表示小数部分,所以再把这个数从地址中取出来
- stylus及stylus-loader版本问题安装下面指定本版就解决了:"stylus": "^0.54.7
- 本文实例讲述了Python设计模式之备忘录模式原理与用法。分享给大家供大家参考,具体如下:备忘录模式(Memento Pattern):不破
- 创建py文件总是为txt格式问题记录写代码过程中创建.py文件时,一直正常,但创建名称为train.py文件时总是为txt格式,即使选择了p
- 本文实例讲述了javascript设置和获取cookie的方法。分享给大家供大家参考,具体如下:1. 设置cookiefunction se
- 先上代码,主要语句为np.where(b[c]==1),详细解释如下:import numpy as np b = np.array([[-
- 本文实例为大家分享了js实现移动小球的具体代码,供大家参考,具体内容如下</head><style> *{margi
- 如何在聊天室实现趣味答题并计分功能?这个创意确实很好,我们可用在聊天室框架中加入一隐含帧(5分钟刷新一次)的做法来实现这一功能。questi
- 本文实例讲述了JS实现仿Windows经典风格的选项卡Tab切换代码。分享给大家供大家参考,具体如下:这款仿Windows风格的选项卡,带有
- 当外层div盒子设置宽度为100%时,可echarts渲染出来宽度只有100px,这种情况大多数echarts所在的div设置了displa
- 创建用户定义函数,它是返回值的已保存的 Transact-SQL 例程。用户定义函数不能用于执行一组修改全局数据库状态的操作。与系统函数一样
- 最简单的例子:a = [1,1,1,1,2,2,2,3,3,1,1,1,3]# 问:计算a中最多有几个连续的1很明显,答案是4如果用代码实现
- 先看一个示例代码如下<template> <div align="center" styl
- from win32com.client import DispatchEximport timeie=DispatchEx("I
- http-server是一个简单的命令行http服务器,基于nodejs,下载地址:https://nodejs.org/en/downlo
- 一、正则表达式 re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串
- 一、包在我们的项目中,可能会有太多的模块但是我们不能把所有的模块这样放在这里,这样项目会乱七八糟。我们可以将所有相同类型的模块放在一个文件夹
- #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/02/11
- 在mac下载安装prometheus在https://prometheus.io/download/下载prometheus放到自定义的位置