HTML DOM Element 对象
HTML DOM 节点
在 HTML DOM (文档对象模型)中,每个部分都是节点:
- 文档本身是文档节点
- 所有 HTML 元素是元素节点
- 所有 HTML 属性是属性节点
- HTML 元素内的文本是文本节点
- 注释是注释节点
Element 对象
在 HTML DOM 中,Element 对象表示 HTML 元素。
Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。
NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。
元素也可以拥有属性。属性是属性节点(参见下一节)。
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
属性和方法
1. accessKey
设置或返回元素的快捷键
快捷键规定激活元素或使元素获得焦点的快捷键。
注释:在不同的浏览器中访问快捷键的方式各有不同:
不过在大多数浏览器中,可以将快捷键设置为其他组合。
提示:如果超过一个元素拥有相同的快捷键,那么:
- IE, Firefox: 激活下一个被按下快捷键的元素
- Chrome, Safari:激活最后一个被按下快捷键的元素
- Opera: 激活第一个被按下快捷键的元素
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.accessKey=accessKey
<html>
<head>
<script>
function accesskey()
{
document.getElementById('w3s').accessKey="w"
}
</script>
</head>
<body onload="accesskey()">
<a id="w3s" href="http://www.w3school.com.cn/">W3School</a>
</body>
</html>
2. appendChild()
向节点添加最后一个子节点
提示:如果您需要创建包含文本的新段落,请记得添加到段落的文本的文本节点,然后向文档添加该段落。您也可以使用 appendChild() 方法从一个元素向另一个元素中移动元素。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.appendChild(node)
参数
- 必需
-
- node 您希望添加的节点对象。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div"></div>
<button onclick="Event()">点我吧</button>
</body>
<script>
function Event(){
var Dom_p = document.createElement('p');
var text = document.createTextNode("1213"); //Document中的对象实例 createTextNode
Dom_p.appendChild(text);
div.appendChild(Dom_p);
}
</script>
</html>
3. attributes
返回指定节点的属性集合,即 NamedNodeMap
提示:您可以使用 length 属性来确定属性的数量,然后您就能够遍历所有的属性节点并提取您需要的信息。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
注释:在 Internet Explorer 8 以及更早的版本中,attributes 属性会返回元素所有可能属性的集合。
用法
node.attributes
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()">点我吧</button>
</body>
<script>
function Event(){
var Dom_p = document.createElement('p');
var attr = div.attributes;
var text = "";
for(let i = 0; i< attr.length;i++){
text += attr[i].nodeValue + " ";
}
Dom_p.innerText += text;
div.appendChild(Dom_p);
}
</script>
</html>
4. childNodes
返回节点的子节点集合,以 NodeList 对象
提示:您可以使用 length 属性来确定子节点的数量,然后您就能够遍历所有的子节点并提取您需要的信息。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.childNodes
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()">点我吧</button>
</body>
<script>
function Event(){
console.log(document.body.childNodes);
}
</script>
</html>
5. className
设置或返回元素的 class 属性
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.className=classname
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()">点我吧</button>
</body>
<script>
function Event(){
div.className = "ddd"
}
</script>
</html>
6. clientHeight
返回元素的可见高度
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.clientHeight
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()">点我吧</button>
</body>
<script>
function Event(){
alert(div.clientHeight);
}
</script>
</html>
7. clientWidth
返回元素的可见高度
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.clientWidth
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()">点我吧</button>
</body>
<script>
function Event(){
alert(div.clientWidth);
}
</script>
</html>
8. cloneNode()
创建节点的拷贝,并返回该副本
cloneNode() 方法克隆所有属性以及它们的值。
如果您需要克隆所有后代的属性,请把 deep 参数设置 true,否则设置为 false。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.cloneNode(deep)
参数
- 可选
-
- deep 默认是 false。
-
-
- 设置为 true,如果您需要克隆节点及其属性,以及后代
-
-
-
- 设置为 false,如果您只需要克隆节点及其后代
返回值
- 设置为 false,如果您只需要克隆节点及其后代
-
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()">点我吧</button>
</body>
<script>
function Event(){
var cloneDiv = div.cloneNode();
div.appendChild(cloneDiv)
}
</script>
</html>
9. compareDocumentPosition()
比较两个节点,并返回描述它们在文档中位置的整数
返回值
- 1:没有关系,两个节点不属于同一个文档。
- 2:第一节点(P1)位于第二个节点后(P2)。
- 4:第一节点(P1)定位在第二节点(P2)前。
- 8:第一节点(P1)位于第二节点内(P2)。
- 16:第二节点(P2)位于第一节点内(P1)。
- 32:没有关系,或是两个节点是同一元素的两个属性。
注释:返回值可以是值的组合。例如,返回 20 意味着在 p2 在 p1 内部(16),并且 p1 在 p2 之前(4)。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
node.compareDocumentPosition(node)
参数
- 必需
-
- node 规定于当前节点作比较的节点
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.compareDocumentPosition(btn));
}
</script>
</html>
10. contentEditable
设置或返回元素内容是否可编辑
提示:您也可以使用 isContentEditable 属性来查明元素内容是否可编辑。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.contentEditable
HTMLElementObject.contentEditable=true|false
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd"></div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
div.contentEditable = true;
}
</script>
</html>
11. dir
设置或返回元素的文本方向
提示:Element需要设置dir属性。
dir的属性值
- auto 自动
- rtl 右
- ltl 左
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.dir=text-direction
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir=""></div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.dir);
}
</script>
</html>
12. firstChild
返回指定节点的首个子节点,以 Node 对象
注释:在 HTML 中,文本本身是 HTML 元素的父节点,HEAD 和 BODY 是 HTML 元素的子节点。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.firstChild
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
<p></p>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
if(div.firstChild.nodeType == 3){
console.log(div.childNodes[1]);
}else{
console.log(div.firstChild);
}
}
</script>
</html>
13. getAttribute()
返回指定属性名的属性值
提示:如果您希望以 Attr 对象返回属性,请使用 getAttributeNode。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.getAttribute(attributename)
参数
- 必需
-
- attributename 需要获得属性值的属性名称。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
<p></p>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.getAttribute('id'));
}
</script>
</html>
14. getAttributeNode()
返回指定属性名的属性值,以 Attr 对象
提示:如果您只需要返回属性值,请使用 getAttribute。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.getAttributeNode(attributename)
参数
- 必需
-
- attributename 需要返回的属性的名称。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
<p></p>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.getAttributeNode('div').nodeValue);
}
</script>
</html>
15. getElementsByTagName()
返回具有指定标签名的元素子元素集合,以 NodeList 对象
提示:参数值 “*” 返回元素的所有子元素。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.getElementsByTagName(tagname)
参数
- 必需
-
- tagname 需要获得的子元素的标签名。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
<p></p>
<p></p>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(document.body.getElementsByTagName('p'));
}
</script>
</html>
16. hasAttribute()
如果存在指定属性,则 hasAttribute() 方法返回 true,否则返回 false。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
element.hasAttribute(attributename)
参数
- 必需
-
- attributename 需要检查是否存在的属性名称。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
<p></p>
<p></p>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.hasAttribute('div'));
}
</script>
</html>
17. hasAttributes()
如果指定节点拥有属性,则 hasAttributes() 方法返回 true,否则返回 false
如果指定节点不是元素节点,则返回值始终是 false。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
element.hasAttributes()
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
<p></p>
<p></p>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.hasAttributes());
}
</script>
</html>
18. hasChildNodes()
如果指定节点拥有子节点,返回 true,否则返回 false
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.hasChildNodes()
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.hasChildNodes());
}
</script>
</html>
19. id
设置或返回元素的 id
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.id=id
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
div.id = "div";
}
</script>
</html>
20. innerHTML
设置或返回元素的 inner HTML
提示:可以解析字符串中的HTML标签。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.innerHTML=text
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var htmlText = div.innerHTML;
htmlText += "<strong>strong</strong><br/>".fontsize("18px");
htmlText += "<strong>strong</strong>";
div.innerHTML = htmlText;
}
</script>
</html>
21. insertBefore()
在您指定的Element里已有的子节点之前插入新的子节点
提示:如果您希望创建包含文本的新列表项,请记得创建文本节点形式的文本,以便追加到 LI 元素中,然后向列表插入这个 LI。您也可以使用 insertBefore 方法插入/移动已有元素。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.insertBefore(newnode,existingnode)
参数
- 必需
-
- newnode 需要插入的节点对象。
- 可选
-
- existingnode 在其之前插入新节点的子节点。如果未规定,则 报错。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var text = document.createTextNode("dddddddd");
div.insertBefore(text,div.childNodes[0])
}
</script>
</html>
22. isContentEditable
isContentEditable 属性返回元素的内容是否可编辑,该属性为只读
提示:请使用 contentEditable 属性来改变元素的可编辑状态。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
11.0 | 5.5 | 3.0 | 3.2 | 10.6 |
用法
HTMLElementObject.isContentEditable
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var text = document.createTextNode("dddddddd");
div.insertBefore(text,div.childNodes[0])
}
</script>
</html>
23. isDefaultNamespace()
如果指定的命名空间是默认的, 方法返回 true,否则返回 false
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
node.isDefaultNamespace(namespaceURI)
参数
- 必需
-
- namespace 需要检查的命名空间的 URI。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
alert(div.isDefaultNamespace('http://www.w3.org/1999/xhtml'));
}
</script>
</html>
24. isEqualNode()
检查两个节点是否相等
如果下例条件为 true,则两个节点相等:
- 节点类型相同
- 拥有相同的 nodeName、NodeValue、localName、nameSpaceURI 以及前缀
- 所有后代均为相同的子节点
- 拥有相同的属性和属性值(属性次序不必一致)
提示:请使用 isSameNode() 方法来检测两节点是否是相同节点。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
node.isEqualNode(node)
参数
- 必需
-
- node 希望与指定节点比较的节点。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div class="di" div="dd" dir="">
</div>
<div class="di" div="dd" dir="">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var divList = document.getElementsByTagName('div');
alert(divList[0].isEqualNode(divList[1]));
}
</script>
</html>
<html>
<head>
<title>zsh</title>
</head>
<body>
<div class="di" div="dd" dir="">
</div>
<span class="di" div="dd" dir="">
</span>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var divList = document.getElementsByTagName('div',"span");
alert(divList[0].isEqualNode(divList[1]));
}
</script>
</html>
25. isSameNode()
检查两节点是否是相同的节点,如果两节点是相同的节点,返回 true,否则返回 false
提示:请使用 isEqualNode() 方法来检测两节点是否是相同节点。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
注释:Firefox 版本 10 停止对此方法的支持,因为 DOM version 4 中已弃用该方法。作为替代,您应该使用 === 来比较两节点是否相同。
用法
node.isSameNode(node)
参数
- 必需
-
- node 希望与指定节点比较的节点。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div class="di" div="dd" dir="">
</div>
<span class="di" div="dd" dir="">
</span>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var divList = document.getElementsByTagName('div');
alert(divList[0].isSameNode(divList[0]));
}
</script>
</html>
26. lang
设置或返回元素的语言代码
提示
需要给元素设置lang属性,了解语言代码手册请戳我
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.lang=language-code
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.lang);
div.lang = "zsh";
console.log(div.lang);
}
</script>
</html>
27. lastChild
返回指定节点的最后一个子节点,以 Node 对象
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.lastChild
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.lastChild);
}
</script>
</html>
28. namespaceURI
返回指定节点的命名空间的 URI
提示:元素节点继承其父节点的命名空间,因此,XHTML 文档中的所有元素都拥有 namespaceURI “http://www.w3.org/1999/xhtml“。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
node.namespaceURI
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.namespaceURI);
}
</script>
</html>
29. nextSibling
返回指定节点之后紧跟的节点,在相同的树层级中,被返回的节点以 Node 对象返回。
提示:如果没有 nextSibling 节点,则返回值为 null。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.namespaceURI
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh"><div></div>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.childNodes[0].nextSibling);
}
</script>
</html>
30. nodeName
指定节点的节点名称
如果节点是元素节点,则 nodeName 属性返回标签名。
如果节点是属性节点,则 nodeName 属性返回属性的名称。
对于其他节点类型,nodeName 属性返回不同节点类型的不同名称。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.nodeName
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
<div></div>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.nodeName.toLowerCase());
console.log(div.childNodes[0].nodeName);
}
</script>
</html>
31. nodeType
返回以数字值返回指定节点的节点类型
如果节点是元素节点,则 nodeType 属性将返回 1。
如果节点是属性节点,则 nodeType 属性将返回 2。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.nodeType
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
<div></div>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
if(div.childNodes[0].nodeType != 3){
console.log(div.childNodes[0]);
}else{
console.log(div.childNodes[0].nodeValue);
}
}
</script>
</html>
32. nodeValue
设置或返回指定节点的节点值
提示:如果您希望返回元素的文本,请记住文本始终位于文本节点中,并且您必须返回文本节点的值(element.childNodes[0].nodeValue)。
提示:nodeValue 属性的替代选择是 textContent 属性。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.nodeValue=value || node.nodeValue
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
<div>1223sssa23sss</div>456
<div>sa1d23a</div>789
<div>I`M Good Boy</div>000
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var domDiv = div.childNodes;
console.log(domDiv);
var text = "";
for(let i=0;i<domDiv.length;i++){
let divI = domDiv[i];
if(divI.nodeType == 3){
console.log(divI.nodeValue);
if(divI.nodeValue){
text += divI.nodeValue.trim()+":";
}
}
}
console.log(text.slice(0,text.length - 1));
}
</script>
</html>
33. normalize()
移除空的文本节点,并连接相邻的文本节点
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.normalize()
<!DOCTYPE html>
<html>
<body>
<p id="demo">点击按钮添加文本,点击另一个按钮来正规化元素。</p>
<button onclick="addTextNode()">添加文本节点</button>
<button onclick="normPara()">对段落进行正规化</button>
<script>
function addTextNode()
{
var y=document.createTextNode("请再次点击。");
var x=document.getElementById("demo");
x.appendChild(y);
var z=document.getElementById("cc");
z.innerHTML=x.childNodes.length;
}
function normPara()
{
var x=document.getElementById("demo");
x.normalize();
var z=document.getElementById("cc");
z.innerHTML=x.childNodes.length;
}
</script>
<p>上面的段落有 <span id="cc">1</span> 个子节点。</p>
</body>
</html>
34. offsetHeight
返回元素的高度
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.offsetHeight
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.offsetHeight);
}
</script>
</html>
35. offsetWidth
返回元素的宽度
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.offsetWidth
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.offsetWidth);
}
</script>
</html>
36. offsetLeft
返回元素的水平偏移位置
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.offsetLeft
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.offsetLeft);
}
</script>
</html>
37. offsetParent
返回元素的偏移容器
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.offsetParent
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.offsetParent);
}
</script>
</html>
38. offsetTop
返回元素的垂直偏移位置
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.offsetTop
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.offsetTop);
}
</script>
</html>
39. ownerDocument
以 Document 对象的形式返回节点的 owner document
在 HTML 中,HTML 文档本身始终是元素的 ownerDocument。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.ownerDocument
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.ownerDocument);
}
</script>
</html>
40. parentNode
以 Node 对象的形式返回指定节点的父节点
如果指定节点没有父节点,则返回 null。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.parentNode
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.parentNode);
}
</script>
</html>
41. previousSibling
返回同一树层级中指定节点的前一个节点,被返回的节点以 Node 对象的形式返回
提示:如果没有 previousSibling 节点,则返回值是 null。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.previousSibling
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.previousSibling);
}
</script>
</html>
42. removeAttribute()
删除指定的属性
此方法与 removeAttributeNode() 方法的差异是:removeAttributeNode() 方法删除指定的 Attr 对象,而此方法删除具有指定名称的属性。结果是相同的。同时此方法不返回值,而 removeAttributeNode() 方法返回被删除的属性,以 Attr 对象的形式。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.removeAttribute(attributename)
参数
- 必需
-
- attributename 您希望移除的属性的名称。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
div.removeAttributeN('div');
}
</script>
</html>
43. removeAttributeNode()
删除指定的属性,并以 Attr Node 对象返回被删除的属性
此方法与 removeAttribute() 方法的差异是,removeAttribute() 方法返回具有指定名称的属性,而此方法删除指定的 Attr 对象。结果是相同的。同时,removeAttribute() 方法没有返回值,而此方法返回被删除的属性,以 Attr 对象的形式。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.removeAttributeNode(attributenode)
参数
- 必需
-
- attributenode 您希望移除的属性节点。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.removeAttributeNode(div.getAttributeNode('div')));
}
</script>
</html>
44. removeChild()
删除元素的某个指定的子节点,以 Node 对象返回被删除的节点,如果节点不存在则返回 null
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.removeChild(node)
参数
- 必需
-
- node 您希望删除的节点对象。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.removeChild(div.childNodes[0]));
}
</script>
</html>
45. replaceChild()
用新节点替换某个子节点
这个新节点可以是文档中某个已存在的节点,或者您也可创建新的节点。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
node.replaceChild(newnode,oldnode)
参数
- 必需
-
- newnode 您希望插入的节点对象。
-
- oldnode 您希望删除的节点对象。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var text = document.createTextNode("456");
console.log(div.replaceChild(text,div.childNodes[0]));
}
</script>
</html>
46. scrollHeight
返回元素的整体高度
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.scrollHeight
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.scrollHeight);
}
</script>
</html>
47. scrollLeft
返回元素左边缘与视图之间的距离
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.scrollLeft
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.scrollLeft);
}
</script>
</html>
48. scrollTop
返回元素上边缘与视图之间的距离
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.scrollTop
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.scrollTop);
}
</script>
</html>
49. scrollWidth
返回元素的整体宽度
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.scrollWidth
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.scrollWidth);
}
</script>
</html>
50. setAttribute()
添加指定的属性,并为其赋指定的值,如果这个指定的属性已存在,则仅设置/更改值。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
element.setAttribute(attributename,attributevalue)
参数
- 必需
-
- attributename 您希望添加的属性的名称。
-
- attributevalue 您希望添加的属性值。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
div.setAttribute('attr','haha')
}
</script>
</html>
51. setAttributeNode()
向元素中添加指定的属性节点,如果这个指定的属性已存在,则此方法会替换它。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.setAttributeNode(attributenode)
参数
- 必需
-
- attributename 您希望添加的属性节点。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
var attr = document.createAttribute('attr');
attr.nodeValue = "haha";
div.setAttributeNode(attr)
}
</script>
</html>
52. style
设置或返回元素的 style 属性
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.style.fontSize || element.style.fontSize = string
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
div.style.fontSize = "26px";
console.log(div.style.fontSize);
}
</script>
</html>
53. tabIndex
设置或返回元素的 tab 键控制次序
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.tabIndex=tabIndex
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.tabIndex);
}
</script>
</html>
54. tagName
返回元素的标签名
在 HTML 中,tagName 属性的返回值始终是大写的。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
element.tagName
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.tagName);
}
</script>
</html>
55. textContent
属性设置或返回指定节点的文本内容,以及它的所有后代
如果您设置了 textContent 属性,会删除所有子节点,并被替换为包含指定字符串的一个单独的文本节点。
提示:有时,此属性可用于取代 nodeValue 属性,但是请记住此属性同时会返回所有子节点的文本。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | 9.0 | true | true | true |
用法
node.textContent=text || node.textContent
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
<div>456</div>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.textContent);
}
</script>
</html>
56. title
设置或返回元素的咨询标题
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
HTMLElementObject.title=title
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
<div>456</div>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
div.title = 'div';
console.log(div.title);
}
</script>
</html>
57. item()
返回节点列表中位于指定索引的节点
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
nodelist.item(index)
参数
- 必需
-
- index 被返回节点在节点列表中的索引。
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
<div>456</div>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.childNodes.item(0));
}
</script>
</html>
58. length
返回集合中的节点数量,Node 对象的子节点集合是 NodeList 对象的实例。
浏览器支持
IE | firefox | safari | opera | |
---|---|---|---|---|
true | true | true | true | true |
用法
nodelist.length
<html>
<head>
<title>zsh</title>
</head>
<body>
<div id="div" class="di" div="dd" dir="" lang="zh">123
<div>456</div>
</div>
<button onclick="Event()" id="btn">点我吧</button>
</body>
<script>
function Event(){
console.log(div.childNodes.length);
}
</script>
</html>
文档内容出自 W3cSchool和菜鸟教程,
如需查看更详细的有关内容 请登录 http://www.w3school.com.cn/ 和 http://www.runoob.com/