问题描述
我正在尝试使用 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!