zoukankan      html  css  js  c++  java
  • DOM&BOM

    1 节点

    dom与dom属

    // DOM: 文档对象模型 => 提高给用户操作document obj的标准接口

    // DOM树: 以document为根, 树状展开所有子节点

    节点分类

    // 节点分类: 6个

    // document 9 | doctype 10 | element 1 | text 3 | attr 2 | comment 2

    节点常规操作

    var info_node = document.createAttribute("info"); // 创建

    console.log(info_node.nodeName);

    console.log(info_node.nodeType);

    info_node.value = '123'; // 设置

    console.log(info_node.nodeValue);

    sup1.setAttributeNode(info_node); // 添加

    2.文档结构(element元素范围)

    // 父级

    console.log(sup.parentElement)

    // 子级们

    console.log(sup.children);

    // 第一个子级

    console.log(sup.firstElementChild);

    // 最后一个子级

    console.log(sup.lastElementChild);

    // 上兄弟

    console.log(sup.previousElementSibling);

    // 下兄弟

    console.log(sup.nextElementSibling);

    // 注: 文档结构操作是可以采用连.语法

    // sup.children[0].parentElement  // 自己

    3.文档元素节点操作

     

    // 操作步骤

    // 1. 创建div(元素节点)

    // 2. 设置div属性(单一css | css类名 | 文本 | 子标签 | 事件 | ...)

    // 3. 添加到(文档结构中)指定位置

    // 创建:只能由document调用

    var box = document.createElement('div');

    // 在body元素的最后追加一个子元素

    body.appendChild(box);

    // 在body元素oldEle之前插入一个子元素

    body.insertBefore(box, oldEle);

    // 从body中删除box元素,可以接受返回值,就是删除的元素

    var res = body.removeChild(div);

    // 将body中oldEle元素替换为box,可以接受返回值,就是被替换的元素

    res = bodyreplaceChild(box, oldEle);

    // true深拷贝,拷贝自身与内容, false浅拷贝,只拷贝自身标签

    box.cloneNode()

    4.事件对象target属性

    // ev.target通过父级的事件对象,获取具体相应区域位置的子级元素

    // 应用场景

    // 1. 父级的子元素类型不同一,采用循环绑定不方便

    // 2. 父级子元素较多或不确定

    5.BOM操作

    // BOM: Browser Object Model, 提供用户与浏览器交互的标准接口

    // BOM的顶级对象为window对象, 页面中出现的其实所有对象都是window的子对象

    // 重要的子对象

    // document | history | location | navigator | screen

    // location => url信息

    console.log(location);

    // 域名:端口号

    console.log(location.host);

    // 域名

    console.log(location.hostname);

    // 端口号

    console.log(location.port);

    // 查询信息

    console.log(location.search);

    // history

    history.back() | history.forward() | history.go(-num | num)

    // navigator

    console.log(navigator.userAgent)

    // Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

  • 相关阅读:
    表格行内编辑增删改查
    rpc远程调用开发
    gdb调试程序
    Makefile文件编写
    CentOS6.6源码编译升级GCC至4.8.2
    linux 下C语言编程库文件处理与Makefile编写
    laravel队列-让守护进程处理耗时任务
    回顾javase点滴
    服务端生成word并压缩打包下载
    pytest框架插件(用例依赖、多重校验、执行顺序、失败重跑、重复执行、标记)
  • 原文地址:https://www.cnblogs.com/zhouhai007/p/10176322.html
Copyright © 2011-2022 走看看