gpt4 book ai didi

具有多个选择器的 jQuery .each() - 跳过,然后是 .empty() 元素

转载 作者:行者123 更新时间:2023-12-01 03:28:47 32 4
gpt4 key购买 nike

我想删除所有匹配元素,但跳过每个匹配的第一个实例:

// Works as expected: removes all but first instance of .a
jQuery ('.a', '#scope')
.each ( function (i) {
if (i > 0) jQuery (this).empty();
});

// Expected: removal of all but first instance of .a and .b
// Result: removal of *all* instances .a and .b
jQuery ('.a, .b', '#scope')
.each ( function (i) {
if (i > 1) jQuery (this).empty();
});

<div id="scope">

<!-- Want to keep the first instance of .a and .b -->

<div class="a">[bla]</div>
<div class="b">[bla]</div>

<!-- Want to remove all the others -->

<div class="a">[bla]</div>
<div class="b">[bla]</div>

<div class="a">[bla]</div>
<div class="b">[bla]</div>
...
</div>

有什么建议吗?

  • 由于与“旧版”代码冲突,因此使用 jQuery() 而不是 $()
  • 使用 .empty() 因为 .a 包含我想禁用的 JS
  • 沉迷于 jQuery 1.2.3

谢谢你!

最佳答案

尝试一下:

$('.a:gt(0), .b:gt(0)').remove();

我不确定是否可以使用 :gt() 将它们合并到一个选择器中,它可能会更改范围并在第一个 .a 之后删除所有内容。 .

关于具有多个选择器的 jQuery .each() - 跳过,然后是 .empty() 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2480801/

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