html--JavaScript之DOM (文档对象模型)

一、简介

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。

HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法。通过 DOM,你可以访问所有的 HTML 元素,连同它们所包含的文本和属性。

二、查找元素

2.1、直接查找

方法名 描述
document.getElementById("id") 获取有指定惟一ID属性值文档中的元素
document.getElementsByTagName("tab") 返回当前元素中有指定标记名的子元素的数组
document.getElementsByClassName("name") 根据class属性获取标签集合
document.getAttribute("title")  返回元素的属性值,属性由name指定

 2.2、间接查找

属性名  描述
 childNodes  返回当前元素的所有子元素
 firstChild  返回当前元素的第一个下级子元素
 lastChild   返回当前元素的最后一个子元素
 nextSibling    返回紧跟在当前元素后面的元素
 previousSibling  返回紧跟在当前元素前面的元素
 parentElement  返回其父节点标签元素
 children  返回其所有子标签
 firstElementChild  返回第一个子标签元素
 lastElementChild   返回最后一个子标签元素
 nextElementtSibling    返回下一个兄弟标签元素
 previousElementSibling  返回上一个兄弟标签元素

三、操作元素

3.1、动态创建内容时所用的W3C DOM属性和方法

属性/方法  描述
document.createElement_x(tagName) 文档对象上的createElement_x方法可以创建由tagName指定的元素。如果以串div作为方法参数,就会生成一个div元素
document.createTextNode(text) 文档对象的createTextNode方法会创建一个包含静态文本的节点
<element>.appendChild(childNode) appendChild方法将指定的节点增加到当前元素的子节点列表(作为一个新的子节点)。
<element>.setAttribute(name, value) 这些方法分别获得和设置元素中name属性的值
<element>.insertBefore(newNode, targetNode) 将节点newNode作为当前元素的子节点插到targetNode元素前面
<element>.removeAttribute(name) 这个方法从元素中删除属性name
<element>.removeChild(childNode) 这个方法从元素中删除子元素childNode
<element>.replaceChild(newNode, oldNode) 这个方法将节点oldNode替换为节点newNode
<element>.hasChildnodes() 这个方法返回一个布尔值,指示元素是否有子元素

3.2、标签内容

innerText             获取标签文本内容
innerHTML           获取HTML内容
value                   获取值,即form提交表单的值

 示例:

<div class="liang">1111</div>
<div class="yu">2222</div>
<input class="sheng" type="text" value="yusheng_liang">
<script>
    document.getElementsByClassName("liang").innertext = 123; // 获取类名为liang的标签并把内容改为123
    document.getElementsByClassName("yu").innerHTML = 456;  //获取类名为yu的标签并把内容改为456
    document.getElementsByClassName("sheng").value = "你好"; //获取类名为sheng的标签并把内容改为你好
</script>

3.3、属性

attributes                                 // 获取所有标签属性
setAttribute(key,value)                    // 设置标签属性
getAttribute(key)                          // 获取指定标签属性

猜你喜欢

转载自www.cnblogs.com/june-L/p/11901866.html