JavaScript的childNodes、nodeType、nodeValue属性

1.childNodes属性

childNodes属性可以用来获取任何一个元素的所有子元素,它是一个子元素数组。

假设需要检索出某个文档body元素的全部子元素,首先需要用getElementsByTagName获取body元素,getElementsByTagName返回的是一个数组,而一个文档只有一个body元素,所以:

var body_element = document.getElementsByTagName("body")[0];

那么,获取子元素的个数可以如下:

function countBodyChildren(){
    var body_element = document.getElementsByTagName("body")[0];
    alert(body_element.childNodes.length);
}

需要让这个函数加载执行,则用:

window.onload = countBodyChildren;

2.nodeType属性

每一个元素节点都会有nodeType属性,它让我们知道自己正在和哪种节点打交道,但是美中不足的是nodeType的值并不是英文,而是数字。nodeType总共有12种可取值,但其中仅有3种有使用价值:

元素节点的nodeType属性值为1;

属性节点的nodeType属性值为2;

文本节点的nodeType属性值为3;

3.nodeValue属性

nodeValue是DOM提供的,它用来得到一个节点的值:node.nodeValue

var des = document.getElementById("description");
alert(des.childNodes[0].nodeValue);
//alert(des.firstChild.nodeValue);

可以用nodeValue刷新某段描述,如:

function showPicture(whichPicture){
    var source = whichPic.getAttribute("href");
    var placeHolder = document.getElementById("placeHolder");
    placeHolder.setAttribute("src", source)
    var text = whichPic.getAttribute("title");
    var des = document.getElementById("desc");
    des.firstChild.nodeValue = text;
}

这样,原来显示的描述,通过这个函数处理会变成所获取到的title中的描述内容。

参考:JavaScript DOM编程艺术(中文第2版)

转载于:https://my.oschina.net/u/3640519/blog/1552156

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值