getElementsByName不支持div标签吗
为什么用input标签oUploadImage.length就显示8,而用div就只显示0<script>functionmyname(){varoUploadImage...
为什么用input标签oUploadImage.length就显示8,而用div就只显示0
<script>
function myname() {
var oUploadImage = document.getElementsByName("dx");
//if (!oUploadImage) {
alert(oUploadImage.length);
// return false;
//}
}
function myok() {
var oUploadImage = document.getElementsByName("ok");
//if (!oUploadImage) {
alert(oUploadImage.length);
// return false;
//}
}
</script>
</head>
<body>
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<input type=button onclick="myname()" value="ddddd" />
<input type=button onclick="myok()" value="ooooook" />
</body> 展开
<script>
function myname() {
var oUploadImage = document.getElementsByName("dx");
//if (!oUploadImage) {
alert(oUploadImage.length);
// return false;
//}
}
function myok() {
var oUploadImage = document.getElementsByName("ok");
//if (!oUploadImage) {
alert(oUploadImage.length);
// return false;
//}
}
</script>
</head>
<body>
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<input type=text value="dddd" name="dx" />
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<div name="ok" >ok</div>
<input type=button onclick="myname()" value="ddddd" />
<input type=button onclick="myok()" value="ooooook" />
</body> 展开
5个回答
展开全部
楼主写网页代码还在用IE浏览器测试,有点跟不上时代了啊。
getElementsByName本身在不同的浏览器行为不一样。
首先说说name属性,name属性是input标签的内建属性,早期浏览器的getElementsByName方法是为了方便的获取用户的输入。由于name只是input的内建属性,其它标签没有,所以getElementsByName方法不能在别的标签中识别这一属性,因此getElementsByName方法只能用于input标签,这也就是为什么你getElementsByName(‘ok’)得不到任何值的原因。或许是因为很多人像楼主这样使用getElementsByName方法,浏览器厂商意识到这个方法可以扩展,因此在新版浏览器中(我说的是新版浏览器,任何国内厂商的浏览器都不新(除了傲游3),百度浏览器发布的时候就落后了,腾讯的浏览器实在太垃圾,不要提360浏览器,就是一幌子,傲游3浏览器算是新的,不过也不好用)添加了这个功能,所以楼上的答案没有错,只是需要在新版浏览器中才可以用。
在旧的IE系列浏览器getElementsByName方法确实不支持除input以外的标签
getElementsByName本身在不同的浏览器行为不一样。
首先说说name属性,name属性是input标签的内建属性,早期浏览器的getElementsByName方法是为了方便的获取用户的输入。由于name只是input的内建属性,其它标签没有,所以getElementsByName方法不能在别的标签中识别这一属性,因此getElementsByName方法只能用于input标签,这也就是为什么你getElementsByName(‘ok’)得不到任何值的原因。或许是因为很多人像楼主这样使用getElementsByName方法,浏览器厂商意识到这个方法可以扩展,因此在新版浏览器中(我说的是新版浏览器,任何国内厂商的浏览器都不新(除了傲游3),百度浏览器发布的时候就落后了,腾讯的浏览器实在太垃圾,不要提360浏览器,就是一幌子,傲游3浏览器算是新的,不过也不好用)添加了这个功能,所以楼上的答案没有错,只是需要在新版浏览器中才可以用。
在旧的IE系列浏览器getElementsByName方法确实不支持除input以外的标签
展开全部
getElementsByName是根据标签的name属性来拿的
getElementsByTagName是根据标签名来拿
getElementsByName()
这个是通过NAME来获得元素,但不知大家注意没有,这个是GET ELEMENTS,复数ELEMENTS代表获得的不是一个元素,为什么呢?
因为DOCUMENT中每一个元素的ID是唯一的,但NAME却可以重复。打个比喻就像人的身份证号是唯一的(理论上,虽然现实中有重复),但名字
重复的却很多。如果一个文档中有两个以上的标签NAME相同,那么getElementsByName()就可以取得这些元素组成一个数组。
比如有两个DIV:
<div name="docname" id="docid1"></div>
<div name="docname" id="docid2"></div>
那么可以用getElementsByName("docname")获得这两个DIV,用getElementsByName("docname")[0]访问第一个DIV,用getElementsByName
getElementsByTagName()
这个呢就是通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中当然会有相同的标签,所以这个方法也是取得一个数组。
下面这个例子有两个DIV,可以用getElementsByTagName("div")来访问它们,用getElementsByTagName("div")[0]访问第一个DIV,用
getElementsByTagName("div")[1]访问第二个DIV。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不行 name属性本来就没被设计用在div里面 所以不要随便给div加name 你可以用class等代替
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
document.getElementsByName("dx")[0]
或者
document.getElementsByName("dx").item(0)
或者
document.getElementsByName("dx").item(0)
追问
你说的方法不行
并且oUploadImage.length总是等于0
oUploadImage[0]总是等于undefined
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,你的代码没有错误,不仅是getElementsByName不支持div,getElementsByTag同样也不支持的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询