我正在重构一些代码,并且遇到了一个选择器:
jQuery("tr","#ctl00_MainContent_MyUserControl").each(function(i,row) { ... }
看起来它从页面上的用户控件中选择< tr>(忽略实例完全命名的事实!),但它不是我熟悉的语法,在文档中找不到任何东西。我期望它写成:
$("#ctl00_MainContent_MyUserControl tr").each(function(i,row) { ... }
有谁能告诉我有没有差别(微妙或其他),我在这里失踪?
解决方法
This selector选择id为ctl00_MainContent_MyUserControl的元素内的所有tr元素。这和你的第二个例子完全相同。
第二个参数提供第一个参数的上下文。这种语法有更好的用例,例如:
function(el) { $('tr',el).each(...); }
其中el是页面上的一些元素。在这种情况下,您不能使用第二种语法形式。