zoukankan      html  css  js  c++  java
  • 文档对象DOM的操作及使用

    Dom对象是什么?

    DOM对象就是每次你打开浏览器后,进入一个网址时浏览器获取到的HTML文本内容,当浏览器获取到HTML文本内容时,会将其内容以DOM对象的形式缓存到内存中,这时你便可以对DOM对象进行任何的操作及获取了。以下是学习到的javascript操作DOM对象的学习及总结:

    一、DOM树节点分为四大类:

    (1)文档节点

    文档节点:doucment,Dom树最顶层的节点

    (2)元素节点

    包括:html、head、title、body、head、h1-h6、div、span等

    (3)属性节点

    包括:属性和方法、id 、class

    (4)文本节点

    包括:text

    二、访问Dom树节点

    (1)返回单一元素节点有2种方法:

    getElementById、querySeletor

    示例:

    //获取id=one的元素节点
    var firstItem = document.getElementById('one');
    //获取li元素节点
    var firstItem = document.querySeletor('li');
    //获取id=one的li元素节点
    var firstItem = docuemt.querySeletor('li#one');
    

    (2)返回一个或多个元素节点

    getElementsByClassName
    getElementsByTagName
    querySelectorAll

    示例:

    //获取class='hot'的元素节点
    var hotItem = document.getElementsByClassName('hot');
    //获取li元素节点,返回的是nodeList数组
    var liItems = document.getElementsByTagName('li');
    //获取li元素节点,返回的是nodeList数组
    var liItems2 = document.querySelectorAll('li');
    //获取class属性名为hot的li元素节点,返回的是nodeList数组
    var nodeItems = document.querySelectorAll('li.hot');
    

    (3)元素节点间的遍历

      1)父子节点   

      parentNode   知道子节点,查找父亲节点

      2)兄弟节点

       previousSibling  查找相邻兄弟节点的上一个节点

               nextSibling    查找相邻兄弟节点的下一个节点

         previousElementSibling    查找上一个元素节点(注意:只能是元素节点)

      nextElementSibling  查找下一个元素节点(注意:只能是元素节点)
       3)前后节点
       firstChild    查找第一个节点

         lastChild    查找最后一个节点

      firstElementChild    查找第一个元素节点

      lastElementChild    查找最后一个元素节点

    三、操作Dom树节点

    (1)新增元素节点  createElement()

    (2)新增文本节点       createTextNode()

    (3)将元素节点/文本节点,追加到现有节点后     appendChild()

    (4)将元素节点/文本节点,添加到元素节点开始处   insertBefore()

    示例:

    //使用createElement() createTextNode() appendChild()在two上进行追加节点内容
    var itemTwo = document.getElementById("two").lastChild;
    var newElement_em = document.createElement("em");
    var newEmContent = document.createTextNode("123");
    newElement_em.appendChild(newEmContent);
    //使用insertBefore方法,在元素节点前插入新元素
    var ulItem = document.getElementsByTagName("ul")[0];
    var newLiItem = createElement("li");
    var newContent = createTextNode("这是新增的内容")
    newLiItem.appendChild(newContent);
    ulItem.insertBefore(newLiItem,ulItem.firstChild);

     四、操作属性节点

    获取属性值   getAttribute()

    检查元素节点是否包含特定属性   hasAttribute()

    设置属性值   setAttribute()

    从元素节点移除属性  removeAttribute()
       

    五、获取/更新元素/文本内容

    获取元素内容   

    innerHTML

    获取文本内容

    nodeValue
    textContent
    innerText

    修改文本节点内容

    nodeValue="修改的值"
    textContent="修改的值"

    修改元素节点内容
    innerHTML="修改的元素内容"

    完结.

     

      

      

  • 相关阅读:
    C# 实现保留两位小数的方法
    ueditor 上传大容量视频报http请求错误的解决方法
    Python3 message提示 AttributeError: module 'tkinter' has no attribute 'messagebox'
    Laravel5 went wrong FatalErrorException in HtmlServiceProvider.php line 36
    安装eclipse中文汉化包后无法打开eclipse
    phpstudy 下开启openssl
    mysql 数据库还原出错ERROR:Unknown command '' mysql中断
    MySql启动提示:The server quit without updating PID file(…)失败
    windows 安装 setuptools
    Nginx 域名转发
  • 原文地址:https://www.cnblogs.com/yangsun/p/11667927.html
Copyright © 2011-2022 走看看