1、通過ID獲取元素:(靜態(tài)獲取)
var oDiv = document.getElementById('div1');
2、通過標簽獲取元素:(動態(tài)獲?。?/h3>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
<script>
/*
#list {} var oUl = document.getElementById('list');靜態(tài)方法
li {} document.getElementsByTagName('li'); 動態(tài)方法
#list li {} var aLi = oUl.getElementsByTagName('li');
// aLi => [ li, li, li ] 元素的集合
aLi.length 3
aLi[0]
// 在用 TagName 的時候,必須要加上:[]
*/
window.onload = function (){
// var oUl = document.getElementById('list');
var oUl = document.getElementsByTagName('ul')[0];
var aLi = oUl.getElementsByTagName('li');
// document.getElementsByTagName('li');
// alert( aLi.length );
};
</script>
</head>
<body>
<ul id="list">
<li></li>
<li></li>
<li></li>
</ul>
<ol>
<li></li>
<li></li>
</ol>
</body>
</html>
3、特殊標簽的獲?。?/h3>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
<script>
/*
#list {} var oUl = document.getElementById('list');靜態(tài)方法
li {} document.getElementsByTagName('li'); 動態(tài)方法
#list li {} var aLi = oUl.getElementsByTagName('li');
// aLi => [ li, li, li ] 元素的集合
aLi.length 3
aLi[0]
// 在用 TagName 的時候,必須要加上:[]
*/
window.onload = function (){
// var oUl = document.getElementById('list');
var oUl = document.getElementsByTagName('ul')[0];
var aLi = oUl.getElementsByTagName('li');
// document.getElementsByTagName('li');
// alert( aLi.length );
};
</script>
</head>
<body>
<ul id="list">
<li></li>
<li></li>
<li></li>
</ul>
<ol>
<li></li>
<li></li>
</ol>
</body>
</html>
如果一個頁面中只有一個這樣的標簽,那么可以這樣獲取該標簽:
例如body、title...
document.body
document.title
......
4、靜態(tài)與動態(tài)獲取方法的區(qū)別:
① 通過ID來獲取元素只能用document.不能用其他的,如果用tag來獲取某個元素,(比如獲取id=“oUl”的ul下面的li)
var oUl = document.getElementById('oUl');
var oLi = oUl.getElementsByTagName('li');
② 靜態(tài)獲取方法在使用時只會獲取一次,如果沒有獲取到元素即便在獲取語句的后面通過JS添加了元素進去,也不會獲取到。
動態(tài)獲取方法會一直嘗試獲取元素,直到所有的代碼加載完畢,即便當時沒有獲取到,但是后面如果通過JS添加了也是可以獲取到的。
③ 靜態(tài)方法獲取的元素可以直接使用,但是動態(tài)方法獲取的元素是一個集合,在使用時必須加上指定的下標。注意:動態(tài)方法獲取的不是數(shù)組而是集合,但是這個集合有數(shù)組的屬性,但沒有數(shù)組的一些方法。