首页 > 其他分享 >JS DOM 基础

JS DOM 基础

时间:2022-11-25 19:56:08浏览次数:32  
标签:console log DOM 元素 基础 JS div document 节点

目录

主要有创建、增、删、改、查、属性操作、事件操作

创建

  1. document.write()

    页面文档流加载完毕,再调用这行会导致页面重绘(覆盖)

    document.write('< div>123< /div>')

  2. innerHTML

    创建多个元素效率更高(不要拼接字符串,采取数组形式),结构稍微复杂

    Element.innerHTML = '< a herf = '#'>xiaoya< /a>'

  3. createElement()

    创建多个元素效率稍低,但是结构更清晰

    Element = document.createElement('a')

  1. appendChild

    node.appendChild(child) node 父级 child 子级 后面追加元素,类似于数组中的 push

    ul.appendChild(li)

  2. insertBefore

    node.insertBefore(child,指定元素);

    ul.insertBefore(lili,ul.children[0]);

  1. removeChild

    node.removeChild(child)

    ul.removeChild(ul.children[0])

    this.disabled = true

    表示此按钮禁用(灰色,无法点击)

主要修改 dom 的元素属性, dom 元素的内容,属性,表单的值等等

  1. 修改元素属性 : src、href、title 等
  2. 修改普通元素内容 : innerHTML、innerText 等
  3. 修改表单元素 : value、type、disable 等
  4. 修改元素样式 : style、className 等

主要获取 dom 的元素

  1. DOM 提供的 API 方法 : getElementById, getElementByTagName

    ById : 根据 id 获取元素 var pwd = document.getElementById('pwd');

    ByTagName : 根据标签获取元素 var imgs = document.getElementsByTagName("img");

    古老方法不推荐使用

  2. H5 提供的新方法 : querySelector, querySelectorAll

    Selector : 获取第一个元素 var btn = document.querySelector('button');

    SelectorAll : 获取所有匹配的元素 var items = document.querySelectorAll('.item');

  3. 利用节点操作获取元素

    父(parentNode), 子(children), 兄(previousElementSibling, nextElementSibling 提倡)

    <script>
            var son = document.querySelector(".son");
            // 获取最近的父节点 找不到返回 null
            console.log(son.parentNode);
            // 获取子节点
            console.log(son.children);
            // 获取第一个子元素节点
            console.log(son.firstElementChild);
            // 获取最后一个子元素节点
            console.log(son.lastElementChild);
            // 也可以这样写 没有兼容性问题
            console.log(son.children[0]);
            console.log(son.children[son.children.length - 1]);
    
            var div = document.querySelector("div");
            // nextSibling 下一个兄弟节点包含元素节点和文本节点等
            console.log(div.nextSibling);
            // previousSibling 上一个兄弟节点
            console.log(div.previousSibling);
            // nextElementSibling 下一个兄弟节点(元素节点)
            console.log(div.nextElementSibling);
            // previousElementSibling 上一个兄弟节点(元素节点)
            console.log(div.previousElementSibling);
    </script>
    

属性操作

主要针对于自定义属性

  1. createAttribute()

    var myname = document.createAttribute('myname') 创建自定义属性

  2. setAttribute()

    div.setAttribute('index', '1') 设置属性值

  3. getAttribute()

    div.getAttribute('index') 获取属性值

  4. removeAttribute()

    div.removeAttribute('index') 移除属性

事件操作

给元素注册事件,采取 事件源.事件类型 = 事件处理程序

鼠标事件

image-20220709135510473

标签:console,log,DOM,元素,基础,JS,div,document,节点
From: https://www.cnblogs.com/xiaoyaee/p/16926194.html

相关文章

  • java基础语法学习笔记
    java基础语法学习笔记数组定义的三种方法int[]array1={1,2,3,4,5};//定义一int[]array2=newint[10];//定义二int[]array3=newint[]{1,2,3,4,5};/......
  • jQuery 基础
    目录基本使用选择器操作样式动画效果属性操作元素操作jQuery文档地址基本使用入口函数 //入口函数 //文档准备好执行函数 $(document).ready(function(){......
  • Ajax 基础
    目录GET请求POST请求form表单渲染UI结构传统方法模板引擎exec函数自定义模板引擎JSONform对象文件其他URL编码与解码封装自己的Ajax函数设置超时时限axios的使......
  • [JS DOM&BOM]Web API
    [JSDOM&BOM]WebAPIWebAPIWebAPI是浏览器提供的一套操作浏览器功能和页面元素的API(DOM和BOM)认识DOM什么是DOM文档对象模型(DOM)是HTML和XML文档的编程接口。它提供了对......
  • day41MySQl基础(04)
    SQL语句查询关键字selectfromwheregroupbyhavingdistinctorderbylimitregexp多表查询的两种方式子查询连表操作报错及作业讲解报错 1.粗心大意单词拼......
  • JS请求参数加密破解
    源代码如下functionajax(){var_0x41e66d=_0xe062,_0x31cef8={'type':arguments[0x0][_0x41e66d(0x91)]||_0x41e66d(0x92),'url':arguments......
  • JavaScript 基础
    JavaScript使用JS的几种写法行内式的js直接写道元素的内部​​<buttontype="button"value="须弥"onclick="alert('纳西妲')"></button>​​内嵌式js引入式​​<scripts......
  • Java 注解与反射 基础
    注解与反射基础什么是注解Annotation注解Annotation的作用:不是程序本身,可以对程序做出解释。可以被其他程序(比如编译器等)读取annotation的格式:注解是以”@注释名“再代......
  • C语言基础
    (1)栈(stack):由编译器进行管理,自动分配和释放,存放函数调用过程中的各种参数、局部变量、返回值以及函数返回地址。操作方式类似数据结构中的栈。(2)堆(heap):用于程序动态申请分配......
  • JS类,创建,继承类,静态方法
    <!--js类 使用class创建类: 语法:constructor语法,ClassName类名 classClassName{ constructor(){...} } --> <pid="demo"></p> <script> letRunoob......