Javascript函数中的动态参数
我有一些HTML,如下所示:Javascript函数中的动态参数,javascript,jquery,html,Javascript,Jquery,Html,我有一些HTML,如下所示: <td> <tr> <input type="button" name="confirm" id="confirm1" tabindex="12" size="25" value="Confirm" class="inputbox autowidth" title="confirm address" /> </tr> </td> 除了1,2…1
<td>
<tr>
<input type="button" name="confirm" id="confirm1" tabindex="12" size="25"
value="Confirm" class="inputbox autowidth" title="confirm address" />
</tr>
</td>
除了1,2…10等之外,它们非常相似。。。最后决定做什么
我怎么写它呢
$("#confirm" + id).click(function(){…}
我希望能够使用
id
作为变量,并拥有一个函数,而不是10个较小的函数。在普通Javascript中,您可以执行类似的操作:
Array.from(document.querySelectorAll('[type="button"]')).forEach(bttn=>{
bttn.addEventListener('click',function(e){
alert(e)
})
});
这将把一个通用事件处理程序绑定到
querySelectorAll
中匹配的所有按钮。虽然可以使用链接的问题,但最好完全避免使用数字索引ID,而是使用CSS选择器作为输入。如果需要,添加类。如果您需要索引,可以在函数内部计算它,或者使用数据属性。您可以拥有单个函数,该函数将在每个按钮的“onclick”上调用。在这里,您可以检索有关使用事件调用按钮的信息,例如值、id等。目标
然后执行操作。为什么要使用数组将结果转换为实际数组。当节点列表
已根据文档实现了forEach
方法时,从
执行操作?较旧的浏览器和IE,不要本机提供,因此转换为数组可以减少错误。我在文档中看到了这一点,但它也提到这些旧浏览器不支持array。从也可以看出,这就是为什么我有点困惑的原因。它提到使用Array.prototype.forEarch
。思想?
Array.from(document.querySelectorAll('[type="button"]')).forEach(bttn=>{
bttn.addEventListener('click',function(e){
alert(e)
})
});