jQuery:$('#id')。find('> a')...确切地找到了什么?

时间:2012-09-16 05:17:49

标签: jquery find

我相信有人会改变我的头衔,但我喜欢它,但它持续了。

无论如何,赫克托尔做了什么(正如我7岁那样)?

$('#id').find('> a')...

BTW,我知道$('#parent > .child')$('#parent').children('.child')相同(正如here所解释的那样),而不是我曾经使用它。

3 个答案:

答案 0 :(得分:3)

在没有指定父级的情况下使用> a实际上是不推荐的语法,因为您发现它具有模糊的语义。 .find('> a')实际上等同于.children('a')

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

  

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

[记住$(sel, context)相当于$(context).find(sel)]

答案 1 :(得分:1)

.find()通常用于选择多个等级的后代,但是,在您的情况下,在>之前添加a仅将选择限制为仅限子项(或仅限于第一级你使用CSS类代替#id)。

它与$('#id > a')$('#id').children('a')基本相同,但有额外的函数调用。

你的头衔很完美,顺便说一下:)

答案 2 :(得分:1)

当您尝试使用以下查询

查找元素时
$("#master").find('> a') 

然后它将在元素中找到具有属性id ='master'

的所有第一级锚元素

当您尝试使用以下查询

查找元素时
$("#master").find('a')

然后它将在元素中找到具有属性id ='master'的所有锚元素,无论它处于什么级别。