栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

类上的JavaScript click事件监听器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

类上的JavaScript click事件监听器

这应该工作。

getElementsByClassName
返回与条件相匹配的元素的数组(类似于 数组 )(请参阅编辑)。

var elements = document.getElementsByClassName("classname");var myFunction = function() {    var attribute = this.getAttribute("data-myattribute");    alert(attribute);};for (var i = 0; i < elements.length; i++) {    elements[i].addEventListener('click', myFunction, false);}

jQuery为您完成了循环部分,您需要使用纯Javascript来完成。

如果您有 ES6支持 ,则可以将最后一行替换为:

    Array.from(elements).forEach(function(element) {      element.addEventListener('click', myFunction);    });

注意:较旧的浏览器(如IE6,IE7,IE8)不支持

getElementsByClassName
,因此会返回
undefined


编辑:更正

getElementsByClassName
不会返回数组,而是返回大多数HTMLCollection或某些浏览器中的NodeList(Mozilla
ref)。这两种类型都是Array-Like,(意味着它们具有length属性,并且可以通过其索引访问对象),但是它们并不是严格意义上的Array或从Array继承。(这意味着不能对这些类型执行在数组上可以执行的其他方法)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405018.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号