关于HTML DOM的一些问题

这两天在学习DOM,发现了一些问题:

一、childNodes和children的区别

  • childNodes是获得当前元素的子节点,其中包括元素节点和文本节点。FF3.5不支持children是获得当前元素的子元素,其中只包括元素节点。FF3.5不支持


    *PS:这里要补充一下,元素、容器、标签、对象这几个中文的含义——

    元素:Element,由一对儿标签组成的对象,叫做元素,比如将<p></p>作为一个元素的对象,里面的所有内容包括这对儿标签本身都属于该元素,通常这个元素就作为对象使用。

    容器:什么叫容器,我们经常将div命名为.container就是容器的意思,相当于一个用<p>和</p>做起来的一个范围,一个包装,这个东西叫容器。

    标签:标签是HTML和XML中用“< >”括起来的东西的一种名称,安结构分为开标签和关标签,闭合标签,按功能分为航标签块标签功能标签等等。


    二、lastChild的意义

    lastChild的主要含义就是最后一个儿子,其实这个应该是lastChildNode,就是最后一个节点,他是一个Node对象类型,也就是说,他所得到的东西全都是Node可以使ElementNode可以使TextNode。尤其是在获得一个块标签里面的最后一个块标签的时候,最后一个lastChild是“↵”。所以这个要注意。

    三、insertBefor(newElement,targetElement),appendChild()。

    parentElement.insertBefor操作的在目标元素节点之前加入一个新的元素节点,操作的都是元素,所以注意节点类型,同时他主要是针对当前父元素的子节点进行插入操作,所以使用对象都是元素节点。。

    element.appendChild(),在当前元素节点添加子节点,可以使元素节点,可以使文本节点,都可以添加。如果要是添加“”记得用标签圈起来。

    四、.parentNode和.nextSibling

    element.parentNode获得当前元素的父级元素节点。

    element.nextSilbing获得当前元素的下一个节点可以是任何节点,文本、元素、注释等等节点。

    五、通过document.getElementsByTagName和getAttribute几乎可以选择到任何一个带有任意属性的标签。

    例如:var div_arr = [];

       div_arr = document.getElementsByTagName("div");

       for(i=0 in div_arr){

    if(div_arr[i].getAttribute("class")==“className”){

    。。。要执行的代码。。。

    }

    }

    六、nodeValue和nodeType

    nodeValue的对象是Node的值,nodeType主要有1(元素)2(属性)3(文本)三种类型的type值,if(element.nodeType ==1){ console.log(element.nodeValue)}结果为null;if(element.nodeType==3){console.log(element.nodeValue)}结果为元素内的文本内容

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值