qq_赵成冬_0
2016-08-23 13:21
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function getnum(){
var mynode= document.getElementsByName("myt");
mynode.style.color="red";
}
</script>
</head>
<body>
<input name="myt" type="text" value="1">
<input name="myt" type="text" value="2">
<input name="myt" type="text" value="3">
<input name="myt" type="text" value="4">
<input name="myt" type="text" value="5">
<input name="myt" type="text" value="6">
<br />
<input type="button" onclick="getnum()" value="看看有几项?" />
</body>
</html>
你有没有发现”getElementsByName“与”getElementById“相比,它的Element多了一个S,这就是提示你这个方法获取的是一组元素,而不是如ID那样是一个元素,在数组阶段除了Length属性外,其他没学,我现在也只能一个个更改数组内的内容,参考代码如下:
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function getnum(){ var mynode= document.getElementsByName("myt"); for(var i=0;i<mynode.length;i++) { mynode[i].style.color="red"; } } </script> </head> <body> <input name="myt" type="text" value="1"> <input name="myt" type="text" value="2"> <input name="myt" type="text" value="3"> <input name="myt" type="text" value="4"> <input name="myt" type="text" value="5"> <input name="myt" type="text" value="6"> <br /> <input type="button" onclick="getnum()" value="看看有几项?" /> </body>
此时获得的mynode是一个对象数组,即mynode=[input,input,...,input],是六个input对象。如果你要访问,必须加上索引来访问对象数组中的每一个元素即:mynode[0]访问第一个input,依次类推。要是input里面的值变成红色可使用以下设置:
for(var i in mynode) {//遍历数组,获取其每一个元素,相当于for(i=0;i<=mynode.length;i++)
mynode[i].style.color="red";//设置每一个元素的样式
}
因为getElementsByName获取到的是一个数组,数组本身不是DOM对象,当然没有DOM对象的属相和方法
数组属性:
length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。
数组方法:
可能是你代码打错了 仔细看看 有可能是backgroundcolor
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题