javascript - 如何删除第 3 个之后的每个 {element}?

标签 javascript jquery

我有一个对象列表,我需要使用 jQuery 在特殊场合削减这些对象。出于意图和目的,假设它看起来像这样:

<div id="container">
    <div class="child one">stuff</div>
    <div class="child two">stuff</div>
    <div class="child three">stuff</div>
    <div class="child four">stuff</div>
    <div class="child five">stuff</div>
</div>

有没有一种简单的方法(使用 jQuery,我想如果有必要的话是纯 JS)在第三个之后删除“每个”.child

注意:.one, .two .three 不一定是数字顺序。

最佳答案

是的,使用 :gt selector :

$("#container > .child:gt(2)").remove();

...这意味着“选择所有 .child 元素,这些元素是 #container 的直接子元素,并且索引为 2 或更高(索引从 0 开始)。

或者如果您不喜欢使用 jQuery 的扩展选择器(因为它们不能传递给浏览器自己的选择器引擎),您可以使用 .filter过滤 child :

$("#container > .child").filter(function(index) {
    return index > 2;
}).remove();

如果它们是唯一的 child ,您可以使用.children 代替该选择器的> .child 部分:

$("#container").children().filter(function(index) {
    return index > 2;
}).remove();

关于javascript - 如何删除第 3 个之后的每个 {element}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15344088/

相关文章:

javascript - 聚焦元素时,页面不会在 Firefox 和 IE 中滚动?

javascript - 清空文档并停止进一步的 JavaScript

javascript - 调用请求后如何重新渲染屏幕?

javascript - 使用 Ajax 显示 PHP 成功和失败消息

javascript - IE-8/IE-9 上的 Quickblox

javascript - 使用Canvas,如何绘制用户输入X次的形状?

javascript - 405 : Method not allowed (AJAX query to Flask)

jquery - 是或否切换或 slider

javascript - 在 $.getJSON 函数期间设置的变量只能在函数内访问

javascript - 删除事件监听器不工作