zoukankan      html  css  js  c++  java
  • 元素节点的获取

     

      1.dom节点  (document object model        文档对象模型)

      document>documentElement>body>TagName 

      clidNodes (获取子节点列表的集合)  (白话:孩子节点的总数)

      firstchild (第一个节点)

      2.我们常用的节点类型:

      1.元素节点(标签)

      2.属性节点(标签里面的属性)

      3.文本节点(标签里面的内容)

       案例: <div id="aa">

             hello world

           </div>               (div代表的是元素节点    id代表的是属性节点          hello world代表的文本节点)

      元素中有一个nodetype 的属性来判断节点 返回值为数字

          1代表元素节点

          2代表属性节点

          3代表文本节点

      4.节点的获取(重中之重)

      获取元素节点的很多方法

      document.getElementById()

      document.getElementsByClassName()

      document.getElementsByTagName()

      document.querySelector()

      document.querySelectorAll()

      属性节点获取

      元素.getAttribute("属性名")     获取元素的属性值

      元素.attributes      获取元素身上所有属性构成的集合    如果想得到里面的属性值 元素.attributes[1].value

      元素.setAttribute("属性名","属性值")  给元素设置属性和属性值

      元素.setAttribute("id","aa")

      元素.removesetAttribute("属性")      删除元素属性

      文本节点

      没有获取的方法(无意义)

      标准浏览器(ie8以上的高版本浏览器)      非标准浏览器(ie8以下的低版本浏览器)

      标准浏览器会把文本节点也当成他的子节点

      5.兼容性:

      获取元素子节点的

      元素.childNodes   这个属性有兼容性,标准浏览器会获取到文本节点,而低版本不会, 所以建议使用children这个属性   (这个属性:只读)

      元素.children

      获取单个子节点;

      获取第一个子节点

      标准浏览器下:元素.firstElementChild;

      非标准浏览器下:元素.firstchild

      兼容性写法:元素.firstElementChild||元素.firstchild

      获取最后一个子节点:元素.lastElementChild

      标准浏览器下:元素.lastElementChild

      非标准浏览器下:元素.lastchild

      兼容性写法:元素.lastElementChild||元素.lastchild

      获取上一个节点: 元素.nextElementSibling

      标准浏览器下:元素.nextElementSibling

      非标准浏览器下:元素.nextsibling

      兼容性写法:元素.nextElementSibling||元素.nextsibling

      获取上一个子节点:元素.previousElementSibling

      标准浏览器下:元素.previousElementSibling

      非标准浏览器下:元素.previoussibling

      兼容性写法:元素.previousElementSibling||元素.previoussibling

      6.获取父节点:parentNode

      元素.parentNode   (不会涉及到兼容性问题,放心使用)

      7.区分offsetparent和parentNode的区别?

       案例:<div id="ha">   {position:relative}

            <div id="he">

              <div id="zhang">   {position:absolute}

              </div>

            </div>

          </div>

      offsetparent是跟定位有关的 所以他的父级是ha            parent Node的父级就是他的上一级he

      二。动态创建节点:   在空的div中添加内容

      添加内容的几种方法;

      1. 字符串拼接     (添加事件不起作用)

      2.动态创建           (消耗性能最大)

      3.模板创建         (字符串拼接的封装版)

      4.文档碎片   (最好用的 方法一和方法二的结合)

      创建节点

      1.生成节点的方法:document.creatElement("div")

      2.插入节点:  fu元素.appendchild(新节点)      在父节点的后面添加新的节点

      3.在指定的位置中插入新的节点

      父元素.insertBefore(新节点,谁的前面)          将新的节点插入到指定元素的前面

      4.删除元素节点

      父级.removechild(要删除的节点)

  • 相关阅读:
    NBUT 1120 Reimu's Teleport (线段树)
    NBUT 1119 Patchouli's Books (STL应用)
    NBUT 1118 Marisa's Affair (排序统计,水)
    NBUT 1117 Kotiya's Incantation(字符输入处理)
    NBUT 1115 Cirno's Trick (水)
    NBUT 1114 Alice's Puppets(排序统计,水)
    188 Best Time to Buy and Sell Stock IV 买卖股票的最佳时机 IV
    187 Repeated DNA Sequences 重复的DNA序列
    179 Largest Number 把数组排成最大的数
    174 Dungeon Game 地下城游戏
  • 原文地址:https://www.cnblogs.com/gdqx/p/10038972.html
Copyright © 2011-2022 走看看