在类不工作时使用addEventListener [英] Use addEventListener on a class not working

查看:101
本文介绍了在类不工作时使用addEventListener的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 addEventListener var <上使用 getElementById 转换我的脚本/ code>对于 getElementByClassName 但这不起作用。如何解决?

I am trying to convert my script using addEventListener with getElementById on a var for a getElementByClassName but this doesn't work. How to fix it?

查看我的代码

Javascript:

Javascript:

var input = document.getElementByClassName('myClass');

_slider.noUiSlider.on('update', function( values, handle ) {

    var value = values[handle];

    if ( handle ) {
        input.value = Math.round(value);
});

input.addEventListener('change', function(){
    _slider.noUiSlider.set([null, this.value]);
}, false);

HTML:

<input type="number" class="myClass">

如果我发现我的div带有 ID ,但无法使用 CLASS

This script work perfectly if I find my div with an ID, but not work with a CLASS.

推荐答案

没有getElementByClassName。 getElement s ByClassName返回一个集合。如果只有一个,则选择第一个索引。

There is no getElementByClassName. There is getElementsByClassName that returns a collection. If there is only one, than select the first index.

var input = document.getElementsByClassName('myClass')[0];

其他选项是querySelector

Other option is querySelector

var input = document.querySelector('.myClass');

我的猜测是你没有一个元素,而是多个,而不是你需要循环集合。

My guess is that you do not have just one element, but multiple, than you need to loop over the collection.

var inputs = document.getElementsByClassName('myClass');
//or
//var inputs = document.querySelectorAll('.myClass');
for( var i=0; i<inputs.length; i++){
    inputs[i].addEventListener("click", function() { console.log(this); } );
}

这篇关于在类不工作时使用addEventListener的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆