【发布时间】:2020-08-23 10:42:48
【问题描述】:
我意识到这是一个重复的问题,我什至见过jQuery remove object from object collection 问题,但我希望有一个更好的更完整的答案。
如果我要创建一个集合,例如$divs = $( 'div' );,它可以返回一个集合中的多个 div,但如果我需要从集合中删除/删除其中一个,而不是从 DOM 中,我看不到一个 jQuery 命令来执行此操作。链接文章解决方案中建议的答案之一说集合中留下了一个空值,我不希望发生这种情况。
在我的例子中,我的集合中的所有对象在创建集合时“看起来”都是一样的,也就是说,我没有可以在 CSS 选择器中使用来排除对象的类、属性或属性值差异我想从我的收藏中删除的项目。发生的情况是用户单击要删除的项目旁边的按钮,然后通过单击确定需要删除的项目。
我可以使用按钮单击来临时修改 div.drop-down-list,然后在创建 jQuery 集合时使用该差异来排除一个元素,但我希望有更干净的东西。
除了处理按钮单击和确定要删除哪个 div.drop-down-list 的代码之外,这是我正在尝试创建的代码,只是 jQuery 中没有 removeObject 语句。
$div = $( 'div.drop-down-list' ); // Get all of the drop-down-lists
$div.removeObject( $( clickedDropDownList ) ); // Create a new jQuery object for the one to exclude.
$div.hide(); // Hide/Close all the others.
使用add( ... ) 语句可以轻松地将新的 jQuery 对象项添加到集合中,这似乎很奇怪,但没有一种简单的方法可以删除它们。
【问题讨论】:
标签: jquery collections element