【JavaScript编程】DOM 对象


HTML DOM 节点


在 HTML DOM (Document Object Model) 中, 每个东西都是节点 :

  • 文档本身就是一个文档对象
  • 所有 HTML 元素都是元素节点
  • 所有 HTML 属性都是属性节点
  • 插入到 HTML 元素文本是文本节点
  • 注释是注释节点

一、Document 对象


当浏览器载入 HTML 文档, 它就会成为 Document 对象。

  • Document 对象是 HTML 文档的根节点。
  • Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。

常用属性
属性描述
document.body返回文档的body元素
document.title返回当前文档的标题
document.cookie设置或返回与当前文档有关的所有 cookie
document.URL返回文档完整的 URL
document.baseURI返回文档的绝对基础 URI。ie不支持
document.referrer返回载入当前文档的来源文档的 URL
常用方法
方法描述
document.querySelector()返回文档中匹配指定的CSS选择器的第一元素。ie8及以上
document.querySelectorAll()document.querySelectorAll() 是 HTML5中引入的新方法,返回文档中匹配的CSS选择器的所有元素节点列表。ie9及以上
document.getElementsByClassName()返回文档中所有指定类名的元素集合,作为 NodeList 对象。ie9及以上
document.getElementById()返回对拥有指定 id 的第一个对象的引用。
document.getElementsByName()返回带有指定名称的对象集合。
document.getElementsByTagName()返回带有指定标签名的对象集合。
document.write()向文档写 HTML 表达式 或 JavaScript 代码。
document.writeln()等同于 write() 方法,不同的是在每个表达式之后写一个换行符
document.open()打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。
document.close()关闭用 document.open() 方法打开的输出流,并显示选定的数据。

二、元素对象


在 HTML DOM 中, 元素对象代表着一个 HTML 元素。

  • 元素对象 的 子节点可以是, 可以是元素节点,文本节点,注释节点;
  • NodeList 对象 代表了节点列表,类似于 HTML元素的子节点集合。

获取
方法描述
element.querySelector()返回匹配指定 CSS 选择器元素的第一个子元素。ie8及以上
element.getElementById()返回对拥有指定 id 的第一个对象的引用。
element.getElementsByName()返回带有指定名称的对象集合。
element.getElementsByTagName()返回指定标签名的所有子元素集合
element.getElementsByClassName()返回文档中所有指定类名的元素集合,作为 NodeList 对象。ie9及以上
查找(根据层次关系)
属性描述
element.parentNode父节点
element.childNodes属性返回所有的节点,包括文本节点、注释节点
element.children属性只返回元素节点
element.firstChild第一个子节点
element.lastChild最后一个子节点
element.previousSibling前一个兄弟节点
element.nextSibling后一个兄弟节点
增删改
方法描述
document.createElement(tagName)按给定的标签名创建节点
element.cloneNode(deep)复制节点。如果传递给它的参数是 true,它还将递归复制当前节点的所有子孙节点。否则,它只复制当前节点。
element.appendChild(nodeName)向节点末尾增加子节点
element.insertBefore(newItem,existingItem)在已有的子节点前插入一个新的子节点
element.removeChild(node)删除节点
element.replaceChild(newNode,oldNode)替换节点
其他属性和方法
属性 / 方法描述
element.nodeName返回元素的标记名(大写)
element.id设置或者返回元素的 id
element.className设置或返回元素的class属性
内容
element.innerHTML设置或者返回元素的内容
element.textContent设置或返回一个节点和它的文本内容
样式
element.style不能有"-"(小驼峰命名法);不能写复合属性
element.offsetHeight返回任何一个元素的高度包括边框和填充,但不是边距
element.offsetWidth返回元素的宽度,包括边框和填充,但不是边距
element.offsetLeft返回当前元素的相对水平偏移位置的偏移容器
element.offsetTop返回当前元素的相对垂直偏移位置的偏移容器
element.scrollHeight返回整个元素的高度(包括带滚动条的隐蔽的地方)
element.scrollLeft返回当前视图中的实际元素的左边缘和左边缘之间的距离
element.scrollTop返回当前视图中的实际元素的顶部边缘和顶部边缘之间的距离
element.scrollWidth返回元素的整个宽度(包括带滚动条的隐蔽的地方)
属性
element.hasAttribute()如果元素中存在指定的属性返回 true,否则返回false。
element.getAttribute(name)返回指定元素的属性值
element.setAttribute(name, value)设置节点属性
element.removeAttribute()删除指定的属性
table节点
属性 / 方法描述
rowIndex获取当前行的索引
rows返回包含表格中所有行的一个数组
createTFoot()在表格中创建一个空的 tFoot 元素。
createTHead()在表格中创建一个空的 tHead 元素。
deleteTFoot()从表格删除 tFoot 元素及其内容。
deleteTHead()从表格删除 tHead 元素及其内容。
insertRow()在表格中插入一个新行。
deleteRow(index)从表格删除指定位置的行

三、DOM 事件


鼠标事件
属性描述
onclick当用户点击某个对象时调用的事件句柄。
ondblclick当用户双击某个对象时调用的事件句柄。
onmousedown鼠标按钮被按下。
onmouseenter当鼠标指针移动到元素上时触发。
onmouseleave当鼠标指针移出元素时触发
onmousemove鼠标被移动。
onmouseover鼠标移到某元素之上。
onmouseout鼠标从某元素移开。
onmouseup鼠标按键被松开。
oncontextmenu在用户点击鼠标右键打开上下文菜单时触发。
键盘事件
属性描述
onkeydown某个键盘按键被按下。
onkeypress某个键盘按键被按下并松开。
onkeyup某个键盘按键被松开。
表单事件
属性描述
onchange该事件在表单元素的内容改变时触发( , , , 和 )
onblur元素失去焦点时触发
onfocus元素获取焦点时触发
onfocusin元素即将获取焦点时触发
onfocusout元素即将失去焦点时触发
oninput元素获取用户输入时触发
onreset表单重置时触发
onsearch用户向搜索域输入文本时触发 ( <input=“search”>)
onselect用户选取文本时触发 ( 和 )
onsubmit表单提交时触发
剪贴板事件
属性描述
oncopy该事件在用户拷贝元素内容时触发
oncut该事件在用户剪切元素内容时触发
onpaste该事件在用户粘贴元素内容时触发
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值