将DOM元素数组转换为jQuery对象

5
我正在使用jQuery的DataTables插件,并需要获取其中一行数据。DataTables有一个fnGetNodes函数,可以返回表格中所有DOM元素的数组。我想使用jQuery选择器来查找该行(我知道该行的id),但我需要将数组转换为jQuery对象,这可能吗?
3个回答

7

要从节点数组中获取一个jQuery对象,只需将其传递给jQuery:

var nodes = [document.documentElement, document.documentElement.firstChild];
var extendedNodes = $(nodes);

3
根据http://api.jquery.com/jQuery/的说明,您可以轻松实现此功能:
jQuery( elementArray )

elementArrayAn array containing a set of DOM elements to wrap in a jQuery object.

如果这不起作用,可能是因为您的数组实际上不是一个真正的数组,所以您可以尝试:

$('#id',$($.makeArray(array)));

2

从逻辑上讲,您可以使用

var $row = $(dom_array).filter( 
               function(index){ 
                   return $(this).attr('id') == 'some_id'; 
               } 
           );

这将返回具有指定id的行的jQuery对象。

1
我知道它肯定很简单。虽然我更喜欢使用选择器,因此我选择了:$(dom_array).filter('tr[id='+pid+']'); - Tim N

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接