gpt4 book ai didi

javascript - 如何从 jQuery 对象中永久删除一个元素

转载 作者:搜寻专家 更新时间:2023-10-31 22:12:49 24 4
gpt4 key购买 nike

问题来了

我有这样的代码,我将所有 li 元素放入一个 jQuery 集合中,然后从 DOM 中删除最后一项。但我不知道如何从 jQuery 集合中删除元素?

现在是这样的:

 console.log(myList);
['li.item', 'li.item', 'li.item']

我需要弹出最后一个项目并得到这样的东西:

console.log(myList);
['li.item', 'li.item']

var myList = $('.item');

console.log(myList);

myList.last().remove();

console.log(myList);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="item"><a href="#">Item</a></li>
<li class="item"><a href="#">Item</a></li>
<li class="item"><a href="#">Item</a></li>
<ul>

最佳答案

要删除 jQuery 对象中的元素,可以使用 .splice()

删除最后一个元素:

myList.splice(-1);

删除第一个元素:

myList.splice(0, 1);

知道返回值是一个 HTMLElement 很重要。如果你想用它做点什么,你需要再次将它转换成 jQuery 元素。


不幸的是,jQuery 默认没有popshift。但是您可以轻松地创建这些方法:

$.fn.pop = function(){
return $(this.splice(-1));
}

$.fn.shift = function(){
return $(this.splice(0,1));
}

然后调用:

myList.pop();
myList.shift();

如果你想在 DOM 和对象中删除,你可以链接 remove 函数:

myList.pop().remove();
myList.shift().remove();
$(myList.splice(0, 1)).remove();
$(myList.splice(-1)).remove();

关于javascript - 如何从 jQuery 对象中永久删除一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304254/

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