各浏览器中使用getAttribute获取checkbox/radio的checked值不同

如下

<!DOCTYPE HTML>
<head>
	<meta charset="utf-8" />
</head>
<body>
<input type="checkbox" />
<input type="checkbox" checked/>

<script>
	var checkboxs = document.getElementsByTagName('input');
	alert(checkboxs[0].getAttribute('checked'));
	alert(checkboxs[1].getAttribute('checked'));
</script>
</body>
</HTML>

IE6/7 :依次返回 false/true

IE8 :依次返回 空字符串/checked

IE9/10/Firefox/Safari/Chrome/Opera :依次返回 null/空字符串

 

input[type=radio]的情况同上,类似的布尔属性还有:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected

注意:要判断checkbox/radio有没有选定,使用property而不要使用attribute。

posted on 2011-09-01 15:45  snandy  阅读(4695)  评论(7编辑  收藏  举报