• DOM操作基本功


    一、获取元素节点 (通过document对象调用):

      1.getElementById()

          通过id属性获取一个元素节点对象    [bject HTMLCollection]

      2.getElementsByTagName()

        通过标签名获取一组元素节点对象  [object HTMLCollection]

      3.getElementsByName

           通过name属性获取一组元素节点对象

    二、获取元素的子节点 (通过具体的元素节点调用)

            1.(方法)getElementsByTagName()

        返回当前节点的指定标签名的后代节点的一组对象

      2.(属性)childNodes

        代表当前节点的所有子节点

      3.(属性)firstChild

        代表当前节点的第一个子节点

      4.(属性)lastChild

        代表当前节点的第一个子节点

      PS:   1、 如果当前节点只有一个子节点,那么 firstChild和lastChild等效;

          2、childNodes属性返回一个NodeList,NodeList.length存在兼容性,在IE8+

           和Chrome中子节点前的空白处(当作Text节点计算)和换行都算作文本节点。

           IE8以下则忽略空白和换行,所以得到的NodeList值不一样。

          如果只需要获取子元素节点可用children属性替代

        3、firstChild属性存在兼容性IE8+会把空白处当作第一个子节点,而IE8以下则忽略。

    三、获取父节点兄弟节点 (通过具体的元素节点调用)

           1.(属性) parentNode

        代表当前节点的父节点

      2.(属性) previousSibling

        代表当前节点的前一个兄弟节点

      3.(属性) nextSibling

        代表当前节点的后一个兄弟节点  

      PS:  1、parentNode 属性会忽略子节点与父节点之间的空白

         2、perviousSibling属性会获取该节点与前一个兄弟节点之间的空白 

          如需忽略该空白,可用previousElementSibling属性代替(兼容IE8+)

        3、nextSibling属性和previousSibling属性存在同样的问题

          同样,如需忽略该空白可用nextElementSibling属性代替

    四、元素节点的属性 (获取操作:元素节点.属性名)

      1.获取

        如:element.value

           element.className (获取class属性的值)

           element.id

         PS: 用element.class来获取class属性无效。

            2.修改

          element.value = "number"

    五、其他

      获取element元素的文本值,以下两种操作形式效果相同:

      *  element.innerHTML

      *  element.firstChild.nodeValue
     
            innerText 和 innerHTML的区别:
           *   innerHTML属性获取元素的所有内容
           *   innerText属性自动去除子元素中的标签,获取子元素中的text,
  • 相关阅读:
    javaSE基础知识
    oracle错误分析:ora-04063:view view_test has errors
    爬虫—01-爬虫原理与数据抓取
    Web—13-判断网站请求来自手机还是pc浏览器
    Web—12-详解CSS的相对定位和绝对定位
    Web—11-手机端页面适配
    Web—10-前端性能优化
    Web—09-正则表达式
    知识储备—01-进程,线程,多线程相关总结
    Web—08-移动端库和框架
  • 原文地址:https://www.cnblogs.com/suiucat/p/9721615.html
Copyright © 2020-2023  润新知