Dom基本操作

页面加载时,浏览器创建页面的文档对象模型(Document Object Model)。对象模型的可编程性,使得javascript通过增删改等方式可以创建动态的html。
查找HTML元素

  • 通过id查找HTML元素。用方法:document.getElementById(id_name);
  • 通过标签名查找HTML元素。用方法:getElementsByTagName(tag_name);
  • 通过类名查找 HTML 元素getElementsByClassName(class_name)

获取子元素&兄弟元素&父元素

  • element.childNodes: 获取指定元素的子节点,包括文本节点、元素节点等
  • element.children: 获取指定元素的子元素,只会获取元素节点。
  • element.nextSibling: 获取指定元素的下一个兄弟节点
  • element.nextElementSibling: 获取指定元素的下一个兄弟元素
  • element.previousSibling: 获取指定元素的上一个兄弟节点
  • element.previousElementSibling: 获取指定元素的上一个兄弟元素
  • element.parentNode: 获取元素的父节点,父节点肯定是一个元素

获取第一&最后一个子元素

  • element.firstChild: 获取指定元素下面的第一个子节点
  • element.firstElementChild: 获取指定元素下面的第一个子元素
  • element.lastChild: 获取指定元素下面的最后一个子节点
  • element.lastElementChild: 获取指定元素下面的最后一个子元素

节点操作

  • 克隆节点 - cloneNode()
    • 参数:布尔值,
    • true代表深层克隆,把当前节点和内部所有节点都复制一份
    • false代表浅层克隆,只复制当前节点
  • 添加节点 - appendChild()
    • father.appendChild(son)
  • 插入节点 - insertBefore()
    • father.inserBefore(son1_new,son2_old): 将son1插入到father节点下的son2前面
  • 移除节点 - removeChild()
    • father.removeChild(son): 将father下的son节点移除

创建结构

  • document.write()
    • 特点:只能被document调用,而且会覆盖页面上原有内容
  • element.innerHtml
    • 特点:往页面添加html标签,可以限定范围
  • document.createElement()
    • 特点:动态创建标签,添加到页面需要配合appendChild使用

标签的自定义属性操作

  • 设置标签属性: setAttribute()
    • box.setAttribute("id","aaa");// 有规定的属性可以设置
      box.setAttribute("bbb","ccc");// 没有规定的属性也可以设置
  • 获取标签属性:getAttribute()
    • box.getAttribute("id");// 有规定的可以获取
      box.getAttribute("aaa"); // 没有规定的也可以获取
  • 移除标签属性:removeAttribute()
    • box.removeAttribute("id"); // 有规定的可以删除
      box.removeAttribute("aaa"); // 没有规定的也可以删除

事件

“`
var box = document.getElementById(“box”);

box.onclick = function(){
// 鼠标单击事件
}

box.dblclick = function(){
// 鼠标双击事件
}

box.onmouseover = function(){
// 鼠标移入事件
}

box.onmouseout = function(){
// 鼠标移出事件
}

box.onfocus = function(){
// 聚焦事件
}

box.onblur = function(){
// 失去焦点事件
}

box.onkeyup = function(){
// 按键弹起事件
}

box.onkeydown = function(){
// 按键按下事件
}
“`这里写图片描述

其中的一些方法需有兼容方法,我会在下篇文章列出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值