大家好,我需要知道如何在调用它时将类索引传递给函数。
假设我有3个像这样的输入标签:
<input type="text" placeholder="email" class="PIC"
onchange="val(this.getAttribute('class'), **index0**)" />
<input type="text" placeholder="email" class="PIC"
onchange="val(this.getAttribute('class'), **index1**)" />
<input type="text" placeholder="email" class="PIC"
onchange="val(this.getAttribute('class'), **index2**)" />
现在我想做的就像我传入类名,我想传递函数调用的类索引。 index0应传入0 index1 1应传入1等等......
让我们说函数val是这样的:
function val(className, Index) {
alert('class is ' + className + ' and the index is: ' + index);
}
您想在JavaScript中添加事件侦听器。我把它作为一个change
事件保留,虽然你可能会发现input
事件更合适。
我还添加了一个val函数来记录信息,因为没有提供。
document.querySelectorAll('.PIC').forEach(function(ele, index) {
ele.addEventListener("change", function(e) {
let myClass = ele.getAttribute('class')
val(myClass, index);
});
});
function val(eleClass, eleIndex) {
console.log(eleClass, eleIndex);
}
<input type="text" placeholder="email" class="PIC" />
<input type="text" placeholder="email" class="PIC" />
<input type="text" placeholder="email" class="PIC" />
你可以这样做:
document.querySelectorAll(".PIC").forEach(function(input, index){
input.onchange = val(input.getAttribute('class'), index);
})