javascript在函数调用上传递类索引

问题描述 投票:0回答:2

大家好,我需要知道如何在调用它时将类索引传递给函数。

假设我有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 function class arguments
2个回答
1
投票

您想在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" />

0
投票

你可以这样做:

    document.querySelectorAll(".PIC").forEach(function(input, index){
        input.onchange = val(input.getAttribute('class'), index);
    })  
© www.soinside.com 2019 - 2024. All rights reserved.