• js:DOM及其操作


    DOM的概念

    文档对象模型(Document Object Model,简称DOM)

    在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM

    DOM又称为文档树模型

    • 文档:一个网页可以称为文档
    • 节点:网页中的所有内容都是节点(标签、属性、文本、注释等)
    • 元素:网页中的标签
    • 属性:标签的属性

    DOM操作

    获取页面元素

    想要操作页面上的某部分(显示/隐藏,动画),需要先获取到该部分对应的元素,才进行后续操

    1. 根据id获取

      var div = document.getElementById('main');
      console.log(div);

    // 获取到的数据类型 HTMLDivElement,对象都是有类型的
    // HTMLDivElement <-- HTMLElement <-- Element <-- Node <-- EventTarget

    1. 根据标签名获取
    var divs = document.getElementsByTagName('div');
    for (var i = 0; i < divs.length; i++) {
     var div = divs[i];
     console.log(div);
    }

    2.根据name获取

    var inputs = document.getElementsByName('hobby');
    for (var i = 0; i < inputs.length; i++) {
     var input = inputs[i];
     console.log(input);
    }

    3.根据类名获取元素

    var mains = document.getElementsByClassName('main');
    for (var i = 0; i < mains.length; i++) {
     var main = mains[i];
     console.log(main);
    }

    4.根据选择器获取元素

    var text = document.querySelector('#text');
    console.log(text);

    var boxes = document.querySelectorAll('.box');
    for (var i = 0; i < boxes.length; i++) {
     var box = boxes[i];
     console.log(box);
    }

    三个元素不需要可以直接获得

    (html)document.documentElement

    (head)document.head

    (body)docunment.body

     

    节点之间的关系

    1)        父子关系

    node.parentNode获得node的父节点

    node.childNodes获得node的子节点

    node.firstChild获得node下的第一个子节点

    node.lastChild获得node下的最后一个子节点

    2)        兄弟关系

    node.preivousSibling 返回值为当前节点的前一个兄弟节点

    node.nextSibling 返回当前节点的下一个兄弟节点

    EG:

    1)父子关系
    elem.parentElement 返回一个父元素对象
    elem.childen IE8支持 返回子元素对象集合
    elem.firstElementChild 返回第一个子元素对象
    elem.lastElementChild 返回最后一个子元素
    2)兄弟关系
    返回当前节点的前一个兄弟元素
    elem.preivousElementSibling
    返回当前节点的下一个兄弟元素
    elem.nextElementSibling

     

     

  • 相关阅读:
    java短信验证和注册
    java两个对象属性比较
    mysql像通讯录一样把中文按字母排序的sql
    开发APP必须知道的API集合,来源http://www.cnblogs.com/wikiki/p/7232388.html
    第三方短信接口使用测试
    Guava google缓存机制
    Integer 使用==判断127和超过128的数据的区别
    js加密后台加密解密以及验证码
    sqlserver system object type
    为RadComboBox添加SelectionChanging事件
  • 原文地址:https://www.cnblogs.com/yqycr7/p/11379138.html
Copyright © 2020-2023  润新知