JQuery:使用 .add() 将更多元素添加到现有匹配集

发布于 2024-12-29 07:45:56 字数 540 浏览 1 评论 0原文

这个问题可能有一个简单的答案,但对于我来说,我不明白为什么以下两种使用 $.add() 的方法会给我不同的结果集。

var toBeSorted;

if (contextEl.hasClass("lv"))
    toBeSorted = $(".lv", contextEl).add(contextEl);
else
    toBeSorted = $(".lv", contextEl);

var toBeSorted = $(".lv", contextEl); 

if (contextEl.hasClass("lv"))
    toBeSorted.add(contextEl);

当 IF 语句为 true 时,我总是在顶部代码段中比底部代码段中多获得一个元素(即 contextEl 在结果集中 - 这正是我想要的)。我不明白为什么底部方法调用 toBeSorted.add(contextEl) 的方式不起作用?

非常感谢任何指示或建议。

谢谢你!

There may be a simple answer to this question, but for the life of me, I don't understand why the following two methods of using $.add() give me a different result set.

var toBeSorted;

if (contextEl.hasClass("lv"))
    toBeSorted = $(".lv", contextEl).add(contextEl);
else
    toBeSorted = $(".lv", contextEl);

versus

var toBeSorted = $(".lv", contextEl); 

if (contextEl.hasClass("lv"))
    toBeSorted.add(contextEl);

When the IF statement is true, I always get one more element in the top code segment than in the bottom code segment (namely contextEl is in the result set - which is exactly what I want). I don't understand why the bottom method's way of calling toBeSorted.add(contextEl) doesn't do the trick?

Any pointers or advice is much appreciated.

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空宴 2025-01-05 07:45:56

您需要将 .add() 之后的结果对象写回 toBeSorted,就像在第一个代码块中所做的那样。

toBeSorted = toBeSorted.add(contextEl);

You need to write the resulting object after .add() back to toBeSorted as you do in the first code block.

toBeSorted = toBeSorted.add(contextEl);
爱的故事 2025-01-05 07:45:56

在这种情况下尝试使用 andSelf 将堆栈上的前一组元素添加到当前集合中。

var toBeSorted = contextEl.find(".lv"); 

if (contextEl.hasClass("lv"))
    toBeSorted.andSelf();

Try to use andSelf in this case which add the previous set of elements on the stack to the current set.

var toBeSorted = contextEl.find(".lv"); 

if (contextEl.hasClass("lv"))
    toBeSorted.andSelf();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文