js遇到一些问题,请看代码
<html>
<head>
</head>
<body>
<a href="img/1.jpg" title='1pic' >1pic</a><br>
<a href="img/2.jpg" title='2pic' >2pic</a><br>
<a href="img/3.jpg" title='3pic' >3pic</a><br>
</body>
<
script>
function prepareGallery(){
//if(!document.getElementsByTagName) return false;
//if(!document.getElmentById) return false;
var gallery = document.getElementsByTagName('a');
for(var i=0; i<gallery.length; i++){
gallery[i].onclick = function(){
alert(this);
return false;
}
}
}
window.onload = prepareGallery;
</script>
</html>
本意是html加载完毕之后自动运行js代码,给每个a标签加上onclick事件。运行正常
但是如果把prepareGallery函数里2行注释的代码释放,则运行效果是js代码失效,点击a链接会直接跳转相关图片地址,为什么?
问题2:
<html>
<head>
<title></title>
</head>
<body>
<form id='sel'>
<select name='province'></select>
<select name='city'></select>
<select name='shop'></select>
</form>
</body>
<script type="text/javascript">
var province = document.getElementsByName('province');
// console.log(province);
province.onclick = function() {alert(99)}
}
window.onload = changeTest;
</script>
</html>
这个当我点击name名为province的select元素时,为什么没有弹出99?
过气音游残疾人
9 years, 5 months ago
Answers
- 不能给 getElementsByName 返回的个 NodeList 集合绑定的 onclick 事件。
protect
answered 9 years, 5 months ago