我有一个通过 jQuery .find()
创建的 jQuery 对象,如下所示...
var $mytable= $('#mytable');
var $myObject = $mytable.find("tbody tr");
这很好用,并为 tbody
中的所有 tr
元素创建了一个 jQuery 对象。然而,当我遍历数据时,我需要能够在我进行时删除对象的一部分。例如,如果上面的调用返回一个名为 $myObject
的 jQuery 对象,长度为 10,而我想删除索引 10,我想我可以只做 $myObject.splice( 10,1)
并且它会删除索引 10 处的元素。但这似乎不起作用。
有什么想法吗?谢谢!
更新
我基本上只是想在遍历数据时能够从 $myObject 中删除任何我想要的元素。我知道它是从零开始的(我猜上面的例子不好),只是想表达我的观点。
更新
好的,所以我使用表上的 find 方法创建对象,创建时它的长度为 24。当我遍历对象时,当我遇到一个我不想要的元素时,我尝试使用 Array.prototype .splice.call($rows,x,1) 其中 x 表示要删除的索引。之后,当我在控制台中查看对象时,它的长度仍然是 24。
最佳答案
使用 .not()
删除单个元素,然后在空闲时循环遍历 jQuery 对象:
var $myObject = $mytable.find('tbody tr').not(':eq(9)'); // zero-based
http://jsfiddle.net/mblase75/tLP87/
或者,如果您可能要删除多个:
var $myObject = $mytable.find("tbody tr:lt(9)");
关于javascript - 从 jQuery 对象中移除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644937/