id是具有唯一性的,也就是说同一页面中不允许有同名的id存在,所以通过id获取网页元素时,获得的是单一的元素,不是数组,所以就不需要加[0]了,如:
getElementById("abc")
而名字(name)或标签名(TagName)则是允许同名的,所以通过它们获取的网页元素都是数组(即使不存在同名现象,只有一个,也是数组),要调用其中的某个元素比如第一个,就必须加[0],如:
getElementsByName("kkk")[0]
getElementsByTagName("kkk")[0]
其实你从By前面有没有s就知道哪个要加[0]哪个不用加。
补充一句:你的getElementByTagName是错的,少了个s
这个javascript 原生中有自带的。documentgetElementsByName();
下面是代码:
<body><div name = "div"></div>
<div name = "div"></div>
<div name = "div"></div>
<div name = "div"></div>
<div name = "div"></div>
</body>
<script>
alert(documentgetElementsByName('div')length); //结果是:5如果想对每个div进行 *** 作,就需要用for循环了。
var aDiv = documentgetElementsByName('div');
for(var i=0;i<aDivlength;i++){
aDiv[i]onclick = function(){
consolelog('aaa'); //点击每个div都会console出一个'aaa'
}
}
</script>
getElementById()
// 通过ID来取得元素,所以只能访问设置了ID的元素,比如说有一个DIV的ID为docid:
// <div id="docid"></div>
// 那么就可以用getElementById("docid")来获得这个元素。getElementsByName()
// 通过NAME来获得元素,DOCUMENT中元素的NAME可以重复,如果一个文档中有两个以上的标// 签NAME相同,那么getElementsByName()就可以取得这些元素组成一个数组。
// 比如有两个DIV:
// <div name="docname" id="docid1"></div>
// <div name="docname" id="docid2"></div>
// 那么可以用getElementsByName("docname")获得这两个DIV,用getElementsByName("docname")[0]访问第一个DIV。getElementsByTagName()
// 通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中会有相同的标签,所以这个方法也是取得一个数组。
// 可以用 getElementsByTagName("div")来访问它们,用getElementsByTagName("div")[0]访问第一个 DIV,用getElementsByTagName("div")[1]访问第二个DIV。
你的代码是什么?
documentgetElementsByTagName("a");
还是parentObjgetElementsByTagName("a");
前一个是整个页面的a
后一个才是父对象里面所有的a
把代码贴出来看看吧
使用getElementsByTagName可以获得li元素数组 再通过判断数组的长度就可以获得li元素的个数了
<ul id ='myul'>
<li></li>
<li></li>
</ul>
如上述结构 首先获得ul元素,再调用getElementsByTagName函数
temp = documentgetElementById('myul');
lis = tempgetElementsByTagName('li');
alert(lislength); //显示li元素的个数
或者直接得到:
documentgetElementById('myul')getElementsByTagName('li')length
<!doctype html>
<html id="html">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<div id=main>
<div id=main-left>
<ul>
<li></li>
<li></li>
</ul>
</div>
<div id=main-right>
</div>
</div>
<script>
var mainLeft = documentgetElementById('main-left');
var mainLeftLi = mainLeftgetElementsByTagName('li');
for (var i = 0; i < mainLeftLilength; i++) {
alert(mainLeftLi[i]tagName);
}
</script>
</body>
</html>
以上就是关于javascript中获取元素的问题全部的内容,包括:javascript中获取元素的问题、javascript获取多个name相同的div对象、Javascript获取Html界面元素的几种方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)