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

时间:2012-01-17 18:01:27

标签: jquery jquery-selectors

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

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

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

我知道

ul > li

表示:表示选择直接父级为ul的所有li。但'>是什么李是什么意思?我跑了:

$('> li')

但它返回

[]

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

6 个答案:

答案 0 :(得分:6)

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

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

  

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


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

答案 1 :(得分:5)

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

jQuery('> li', this)

与:

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

答案 2 :(得分:3)

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

答案 3 :(得分:1)

它的jsut与ul > li类似,只是在这种情况下,您正在使用当前上下文ul替换this部分。因此,无论this是否在您正在解析> li to的元素的调用范围内。

例如:

var ele = $('ul#someId');
var list = $('> li', ele);


var list2 = $('ul#someId > li');

// list is the same as list2

答案 4 :(得分:1)

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

答案 5 :(得分:1)

选择器正在<li> DOM元素的上下文中查找任何直接this个孩子