下一篇: JS DOM(文档对象模型)
通过《文档对象模型》一节的学习我们知道,当网页加载时,浏览器就会自动创建当前页面的文档对象模型(DOM),并将文档的所有部分(例如元素、属性、文本等)组织成一个逻辑树结构(类似于族谱),逻辑树的每一个分支的终点称为一个节点,每个节点都包含一个对象,这个对象就是我们本节要介绍的 Element 对象。
使用 Document 对象中提供的方法(例如 getElementsByTagName()、getElementById()、getElementsByClassName() 等)可以得到 Element 对象,在 Element 对象中同样也提供了一系列方法和属性,来操作文档中的元素或者元素中的属性。
下表中列举了 JavaScript Element 对象中提供的属性及其描述:
下表中列举了 JavaScript Element 对象中提供的方法及其描述:
方法 | 描述 |
element.addEventListener() | 为指定元素定义事件 |
element.appendChild() | 为元素添加一个新的子元素 |
element.cloneNode() | 克隆某个元素 |
element.compareDocumentPosition() | 比较当前元素与指定元素在文档中的位置,返回值如下:
|
element.focus() | 使元素获得焦点 |
element.getAttribute() | 通过属性名称获取指定元素的属性值 |
element.getAttributeNode() | 通过属性名称获取指定元素得属性节点 |
element.getElementsByTagName() | 通过标签名获取当前元素下的所有子元素的** |
element.getElementsByClassName() | 通过类名获取当前元素下的子元素的** |
element.hasAttribute() | 判断元素是否具有指定的属性,若存在则返回 true,不存在则返回 false |
element.hasAttributes() | 判断元素是否存在任何属性,若存在则返回 true,不存在则返回 false |
element.hasChildNodes() | 判断一个元素是否具有子元素,有则返回 true,没有则返回 false |
element.hasFocus() | 判断元素是否获得了焦点 |
element.insertBefore() | 在已有子元素之前插入一个新的子元素 |
element.isDefaultNamespace() | 如果指定 namespaceURI 是默认的则返回 true,否则返回 false。 |
element.isEqualNode() | 检查两个元素是否相等 |
element.isSameNode() | 检查当前元素与指定元素是否为同一元素 |
element.isSupported() | 判断当前元素是否支持某个特性 |
element.nor**lize() | 合并相邻的文本节点,并删除空的文本节点 |
element.querySelector() | 根据 CSS 选择器,返回第一个匹配的元素 |
document.querySelectorAll() | 根据 CSS 选择器,返回所有匹配的元素 |
element.removeAttribute() | 从元素中删除指定的属性 |
element.removeAttributeNode() | 从元素中删除指定的属性节点 |
element.removeChild() | 删除一个子元素 |
element.removeEventListener() | 移除由 addEventListener() 方法添加的事件 |
element.replaceChild() | 替换一个子元素 |
element.setAttribute() | 设置或者修改指定属性的值 |
element.setAttributeNode() | 设置或者修改指定的属性节点 |
element.setUserData() | 在元素中为指定键值关联对象 |
element.toString() | 将元素转换成字符串 |
nodelist.item() | 返回某个元素基于文档树的索引 |
示例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body onload="accesskey()">
<a id="r" class="aaa bbb ccc" href="javascript:;">使用 Alt + r 访问该元素</a><br>
<a id="g" href="javascript:;">使用 Alt + g 访问该元素</a>
<script type="text/javascript">
function accesskey(){
document.getElementById('r').accessKey="r"
document.getElementById('g').accessKey="g"
}
var ele = document.getElementById('r');
console.log(ele.attributes);
// 输出:NamedNodeMap {0: id, 1: href, id: id, href: href, length: 2}
console.log(document.body.childNodes);
// 输出:NodeList(7) [text, a#r, br, text, a#g, text, script]
console.log(ele.classList);
// 输出:DOMTokenList(3) ["aaa", "bbb", "ccc", value: "aaa bbb ccc"]
console.log(ele.className);
// 输出:aaa bbb ccc
console.log(ele.clientHeight);
// 输出:DOMTokenList(3) ["aaa", "bbb", "ccc", value: "aaa bbb ccc"]
console.log(ele.tagName);
// 输出:A
console.log(ele.compareDocumentPosition(document.getElementById('g')));
// 输出:4
console.log(ele.getAttribute('href'));
// 输出:javascript:;
console.log(ele.getAttributeNode('href'));
// 输出:href="javascript:;"
</script>
</body>
</html>
运行结果如下图所示:
图1:Element 对象中方法和属性使用演示
下一篇: JS DOM(文档对象模型)
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。