黑马程序员-dom编程基础

                                                                            ---------- android培训   java培训   期待与您交流!------------


DOM:

    (document object model)文档对象模型;

    dom其实就是将一些标记型的文档以及文档中的内容当成对象.

    为什么要将这些文档以及其中的标签封装成对象呢?
        因为可以在对象中定义属性和行为,可以方便操作这些对象.
    
    dom在封装标记型文档时,有三层模型.

    dom1:针对html文档
    dom2:针对xml文档
    dom3:针对xml文档


    html,xhtml,xml  这些都是标记型文档.
    
    dhtml:是多个技术的综合体,叫做动态的html.
        html:负责将数据进行标签的封装
        css:负责标签的样式
        dom:负责将标签中的数据封装成对象
        javascript:负责通过程序设计方式来操作这些对象.

    
    标记型文档存在着层次关系,比如:
    html
       |--head
           |--base
           |--link
           |--ment
           |--style
           |--script
       |--body
           |--div
           |--from
            |--input
            |--select
           |--span
           |--a
           |--table
            |--tbody
                |--tr
                |--td
                |--th
           |--dl
            |--dt
            |--dd
        可以看出,通过这些标签的层次,可以形象的看作是一个树型结构.
            那么我也称标记型文档,加载进内存的是一颗dom树
            这些标签以及标签的数据都是这棵树上的节点.

        dom对标记型解析有一个弊端,就是在文档过大的情况下,相对耗资源,
            对于大型文档可以使用(SAX)这种方式解析

    
        节点类型:
        标签型节点: 类型为1
        属性节点: 类型为2
        文本型节点: 类型为2
        注释型节点: 类型为8
        document: 类型为9


        注意:标签之间存在空行时,会出现一个空白的标签文本,在获取节点时一定要注意.



        节点的关系:
            父节点 parentNode:
            子节点    childNodes:

            兄弟节点
                上一个兄弟节点:previousSibling
                下一个兄弟节点:nextSibling



--------------------------------------------------------------------------------------------

    获取节点可以通过节点的层次关系来完成
    getElementById:通过id属性值获取对应的节点对象.如果有多个id值相同,获取到的是第一个id所属对象.
            尽量保证id的唯一性,返回的是一个对象.

    getElementByName:通过标签的name属性值获取对象,返回的一堆对象,其实是一个对象数组.

    getElementByTagName:即没有id也没有name时,可以通过标签名来获取节点对象,返回的是一堆对象,
                其实是一个对象数组,大多容器标签都具备该方法.

 

 

                                                                ----------  android培训   java培训   期待与您交流!------------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值