【发布时间】:2011-06-10 19:17:06
【问题描述】:
基本问题,但我一直在敲我的头,所以想把它带到这里。
html 看起来像这样(编辑,修正了右引号)
<span class='deleteimage-119'>delete</span>
<span class='deleteimage-120'>delete</span>
<span class='deleteimage-121'>delete</span>
<span class='deleteimage-122'>delete</span>
<span class='deleteimage-123'>delete</span>
javascript/jquery 看起来像这样
iids = ['119','120','121','122','123'];
for (i=0; i<iids.length; i++) {
place = iids[i];
$(".deleteimage-" + place).click(function () {
alert(place);
});
}
点击功能附加到每个单独的跨度,但点击后的警报只显示数组中的最后一项。
【问题讨论】:
-
您忘记了
spans 中的结束语。 -
10% 的 Stackoverflow JavaScript 问题可能重复 :-)
-
它们应该是双引号
-
@morgar ??我认为单引号完全可以,即使在严格的 XHTML 中也是如此。
-
@Mickey - 你的主要问题已经得到解答,只有几个一般性问题/指针:1)为什么每个跨度都有一个特定的类?你有每个特定的样式吗?如果不是,那么我认为您可能想要做的是让这些成为您的 id,而不是类。 2)您真的是要单步执行这个 id 列表,还是真的希望绑定到页面上每个跨度的点击?如果是后者,您可以省去 for 循环,为每个 span 赋予相同的类,如 'deleteimage',然后将它们全部绑定在一行中: $('.deleteimage').click(function() { alert $(this) .attr('id')});
标签: javascript jquery