有没有办法简化以下jQuery代码?非常感谢。
$("#letter1").click(function () {
clickLetter(1, $(this));
});
$("#letter2").click(function () {
clickLetter(2, $(this));
});
$("#letter3").click(function () {
clickLetter(3, $(this));
});
$("#letter4").click(function () {
clickLetter(4, $(this));
});
抱歉,我忘了提到有26封信,所以最后一项是
$("#letter26").click(function () {
clickLetter(26, $(this));
});
我试图避免硬编码。谢谢。
答案 0 :(得分:3)
您不必循环,甚至不必硬编码元素的数量,您可以这样做:
$("[id^=letter]").click(function () {
clickLetter(+this.id.slice('letter'.length), $(this));
});
三部分:
答案 1 :(得分:1)
[1,2,3,4].forEach(function(i){
$("#letter"+i).click(function () {
clickLetter(i, $(this));
});
});