这是什么意思:“jQuery(’> li’,this)”

我想弄清楚这个jQuery插件是如何工作的: http : //codeasily.com/jquery/multi-column-list-with-jquery

在插件中,开头就有这一行:

if(jQuery('> li', this)) { 

我知道

 ul > li 

意思是:它意味着选择直接父亲是ul的所有li。 但是’li’是什么意思? 我跑了:

 $('> li') 

但它回来了

 [] 

即使我在页面上有大量嵌套的无序列表HTML。

不要使用它。 文档建议您不要使用at,因为它很快就会被弃用。

来自http://api.jquery.com/child-selector/

注意: $("> elem", context)选择器将在以后的版本中弃用。 因此不鼓励使用其替代选择器。


但要回答,它有效地使用从中调用选择器的元素作为子选择器的左手操作数。

jQuery函数的第二个参数是上下文。

 jQuery('> li', this) 

是相同的:

 jQuery(this).find('> li') 

它与$(this).children('li') 。 它基本上是说“使用this作为选择器的上下文( > li )”。

它的jsut就像ul > li除了在这种情况下你用当前的上下文替换ul部分。 因此,无论是在该调用的范围内,您正在解析> li到的元素。

例如:

 var ele = $('ul#someId'); var list = $('> li', ele); var list2 = $('ul#someId > li'); // list is the same as list2 

它将在this元素中的直接子li中查找li元素,其中this元素可以是jQuery对象或DOM元素。

选择器在this DOM元素的上下文中查找任何直接的

  • 子元素