I have seen it here. What is meant by tbl
in the following statement? What does it imply?
var rows = $('tr', tbl);
I have seen it here. What is meant by tbl
in the following statement? What does it imply?
var rows = $('tr', tbl);
The tbl
in the above is another dom element. This is passed in as the (optional parameter) context
:
jQuery( selector [, context ] )
...for the selector
, in this case 'tr'
.
So essentially this:
$('tr', tbl);
says return me everything that matches the selector 'tr'
in the element(s) tbl
.
So given
<table>
<tr>first</tr>
<table>
<table id="test">
<tr>second</tr>
</table>
This returns varying results:
//context is global
$('tr') => first & second
//restrict the context to just the second table
//by finding it and passing it into the selector
var tbl = $('#test');
$('tr', tbl) => just second
This pattern is using jQuery context. Your query is used to find the rows within the table.
var tbl = $("table#tableId"); // this line provides the context
var rows = $("tr", tbl); // finding all rows within the context
This is equivalent to writing
var rows = tbl.find("tr")
There is good explanation on using jQuery context in this SO Question here