我正在尝试使用我的jquery / javascript代码按类名定位每个输入字段,但是它不起作用。它只能通过按ID定位来工作。但是我有许多输入字段具有不同的ID,因此按ID定位每个输入字段将变得重复。如何使我的代码正常工作,以便能够按类名定位?这是我的代码,谢谢:
<input type="text" class="inpfld">
$(".inpfld").on('change keyup paste input',function(){
var a=document.getElementsByClassName('inpfld').value;
var b=a
.replace(/hey/g,'hello')
document.getElementsByClassName('inpfld').value=b;
});
答案 0 :(得分:2)
document.getElementsByClassName(class)应该返回HTML集合,该集合是网站中使用 class 的所有元素的数组。
您需要使用for循环遍历此数组,以访问所有元素。
此外,如果要获取引起更改,键入,粘贴和输入事件的元素的 .value 属性,则需要添加特殊的 e 参数到回调函数,并在内部将其引用为 e.target 。
$(".inpfld").on('change keyup paste input', function(e) {
var a = e.target.value;
var b = a.replace(/hey/g, 'hello')
var elements = document.getElementsByClassName('inpfld');
for (var a = 0; a < elements.length; a++) {
elements[a].value = b;
}
});