javascript - li.onclick 不能工作
ringa_lee
ringa_lee 2017-04-11 09:49:02
[JavaScript讨论组]

我先获取到li标签,增加点击事件,但是不能工作;

      <ul class="wrap">
        <li class="tit">
            
        </li>
        <li class="tit">
        
        </li>
        <li class="tit">
        
        </li>
      </ul>
var li = document.getElementsByTagName("li");
li.onclick = function() {
    alert(1);
};

ringa_lee
ringa_lee

ringa_lee

全部回复(7)
高洛峰
var li = document.getElementsByTagName("li");//这里返回的是多个,getElements很明显复数嘛
li[0].onclick = function() {
    alert(1);
};
伊谢尔伦

加on前缀的事件处理,是原始DOM模型的事件处理程序,印象里你的onclick只有a标签能挂。这类事件处理的特点是限定类型,限定个数(只能绑一套),所以建议你还是用事件监听或者直接上jq吧。

迷茫

如果你不用jq,用原生。那么,无论是getElementsByClass还是getElementsByTagName,后面加[0]都是一个好习惯,要不莫名其妙的不好使。

ringa_lee

应该是想实现点击每个li都alert(1),可以这样写for(var i=1,l=li.length;i < l;i++){
li[i].index = 1;
li[i].onclick = function(){
alert(this.index);
}

PHP中文网

Li 为 伪数组 你这样绑定 肯定错了呀、

PHP中文网
//获取li的数组,因为匹配的tag有很多
lis=document.getElementsByTagName("li");
//然后写个for循环或者对单个的li写onclick

//代码如下:
for(var i=0,len;lis.length;i<len;i++){
    lis[i].onclick=function(){
        alert(this);
    }
};

//或者:
lis[0].onclick=function(){
    alert(this);
};
伊谢尔伦

getElementsByTagName() 方法可返回带有指定标签名的对象的集合。

是个集合啊,大兄弟!!!

你得循环给这个集合中的对象一个个绑上click事件

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号