views:

39

answers:

3

I am using the DataTables plugin for jQuery and need to get one of the table rows. DataTables has a fnGetNodes function that returns an Array with all of the DOMElements of the table. I would like to use a jQuery selector to find that row (I know the id of the row), but I need to convert the Array to a jQuery Object, is this possible?

+1  A: 

To get a jQuery object from an Array of nodes, you can just pass it to jQuery:

var nodes = [document.documentElement, document.documentElement.firstChild];
var extendedNodes = $(nodes);
Igor Zinov'yev
+1  A: 

Logically you could do it with

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

this will return a jquery object of the row with the specified id.

Gaby
I knew it had to be simple. I prefer using selectors though. So, I went with:$(dom_array).filter('tr[id='+pid+']');
Tim N
@Tim N, very correct.. i did not know what your array contained..
Gaby
A: 

According to http://api.jquery.com/jQuery/ you can do just that:

jQuery( elementArray )

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

If it doesn't work, possibly your array is not an actual array, so you can try:

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