What is the second argument in this jquery select statement?

*爱你&永不变心* 提交于 2019-12-24 17:05:03

问题


I have seen it here. What is meant by tbl in the following statement? What does it imply?

var rows = $('tr', tbl);

回答1:


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'.

source


So essentially this:

$('tr', tbl);

says return me everything that matches the selector 'tr' in the element(s) tbl.


Example

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



回答2:


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



来源:https://stackoverflow.com/questions/37256964/what-is-the-second-argument-in-this-jquery-select-statement

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!