gpt4 book ai didi

jquery - 使用 jQuery 的 .add 方法

转载 作者:行者123 更新时间:2023-12-03 22:33:31 25 4
gpt4 key购买 nike

要么是我在这里犯了一个非常愚蠢的错误,要么是 jQuery 的 .add 方法存在错误。最有可能是前者。

我正在尝试实现一个可以选择的项目列表。这是我的code on jsfiddle .

失败的测试用例如下:

  1. 单击第一个元素将其选中。
  2. 按住 Ctrl 键并单击第二个元素也可将其选中。
  3. 然后单击第三个元素(无需 Ctrl)。

现在,我希望取消选择第一个和第二个,我相信实现也能做到这一点。但第二个不会被取消选择。

稍微挖掘一下,似乎 .add 实际上没有将我的元素添加到 jQuery 对象集中,而且我一生都无法弄清楚为什么。

对此有什么建议吗?或者这不是 .add 方法应该使用的方式?

编辑:我知道jquery-ui有这种东西的控件,但我已经评估过它,它对我不起作用。谢谢。

最佳答案

.add 返回一个新的 jQuery 对象,因此您需要获取返回的值。

prevSelections = prevSelections.add(...);

这里应用了一些其他清理:

var ps = $(),
clazz = 'selected';
$('#list').delegate('li', 'click', function(e) {
if (e.ctrlKey) {
ps = ps.add($(this).toggleClass(clazz));
} else {
if (ps.length) {
ps.removeClass(clazz);
}
ps = $(this).addClass(clazz);
}
});

演示:http://jsfiddle.net/mattball/mAPQA/

关于jquery - 使用 jQuery 的 .add 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com