zoukankan      html  css  js  c++  java
  • JS的DOM对象

    DOM对象:

    (一)简介

       DOM对象:即文档对象模型,是HTML和JavaScript的桥梁

        Document文档 —— 整个HTML文档

        Object对象 —— 一切皆对象

        Model模型 —— 可理解为模具,做不同形状蛋糕

    (1)将一个HTML文档按照由外及内,从大到小的去看,可以分为4个层面的节点(本文中所说节点都是对象

    ①      文档节点

    ②      标签节点

    ③      属性节点

    ④      文本节点

    可以看这张图:其实图中第三行的 标签,如img标签、a标签,p标签里面还可以有属性,是属性节点,

    <a>文本</a>里面包含的文本,也是文本节点;

    (二)查找DOM节点方式

    1.通过id属性查找节点对象(注:element单数)

      var oImg = document.getElementById('img');

    2.通过标签名查找节点对象(注:复数的elements)注意是数组

      var oImg = document.getElementsByTagName('img');

      var oImg[0].src = "./1.png";

    3.通过name属性查找节点对象(注:复数的elements)注意是数组

      var oApi = document.getElementsByName('api');

      var oApi[0].checked = true;

    4.通过class属性名查找节点对象(注:复数的elements)注意是数组 Html5新增

      var oApi = document.getElementsByClassName('api');

      alert  ( oApi[0].innerText );

    5.通过通配符*查找所有标签的节点对象

      var oAllElements= document.getElementsByTagName('*');


    为什么要进行上面的操作,千辛万苦找到他就要操作他。操作他的标签、内容、样式;


    (三)DOM节点对象的操作

      (1)操作属性

          对象.属性名 = 属性值

          dom对象.setAttribute : 设置属性的值

        对象.setAttribute(‘属性名’,’属性值’)

          dom对象.getAttribute:获得属性值

                对象.getAttribute(‘属性名’)

          dom对象.removeAttribute:删除属性值

                对象.removeAttribute(‘属性名’)

      (2)操作内容(innerText & innerHTML)

          innerText:只操作标签内的文字内容

          innerHTML:可以操作标签内的子标签

      (3)操作样式

      如果css样式是多个单词的合成词(font-size、margin-top、background-color等),需要采用小驼峰法的形式(fontSize、marginTop)

      对象.style.fontSize = “30px”;

    (四)DOM节点对象的增删改

      (1)新建节点对象:

      document.createElement()

      (2)确定节点位置:

      父节点.appendChild()

      父节点.insertBefore()

      (3)删除节点:

      父节点.removeChild(子节点)

    (五) DOM节点类型

      (1) 标签节点(元素节点)

      (2) 属性节点(attributes属性)

      (3) 文本节点

    (六)DOM节点关系

      (1)父子关系:childNodes(数组)、parentNode(一个)

      (2)兄弟关系:nextSibling、previousSibling

  • 相关阅读:
    react父子组件之间传值
    MVC、MVP、MVVM模式的概念与区别
    exports、module.exports 和 export、export default
    进程与线程以及它们的区别
    axios详解
    箭头函数详解
    ES6扩展运算符...
    vue子组件数据跟着父组件改变
    JS实现千分位
    在.NET Core使用TimeZone将客户端时间转服务器本地时间但编译提示已过期
  • 原文地址:https://www.cnblogs.com/adair/p/6971088.html
Copyright © 2011-2022 走看看