作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
问题来了
我有这样的代码,我将所有 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 默认没有pop
或shift
。但是您可以轻松地创建这些方法:
$.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/
我是一名优秀的程序员,十分优秀!