jquery - 如何更改选择器保持动作相同

时间:2011-05-09 06:39:58

标签: jquery

假设我有一个数组Boxes={"#box5","#box3",#box1"","#box2","#box4"},我有一个jquery语句

$(Boxes[2]).click(--------some code----------)

我的问题是,语句总是以 - 当单击box1时执行,即使我在其间多次交换Box数组。因此,即使Boxes[2] = "box2"代码在我单击box1而不是box2时仍然执行。

这是某种预处理吗?

1 个答案:

答案 0 :(得分:1)

当您致电$(Boxes[2])时,重要的是Boxes[2]在您致电时的价值。

所以更好的是将click事件挂钩到所有框并在代码内部检查数组值是否是被单击的框。

样品:

// bind to all elements that id begin with "box"
$("id^=[box]").click(function() {
    // see if the clicked box is the one we want
    if ($(this).id == Boxes[2]) {
       // some code
    }
})