回答
parent > child选择器只会寻找直接子元素,而ancestor descendant
将寻找任何后代元素。
例如,下面的标记:
<div class="foo">
<div>
<div class="bar"></div>
</div>
</div>
$('.foo > .bar')
将找不到.bar
元素,而$('.foo .bar')
确实发现它,因为.foo
不是来自.bar
直接孩子,但它是一个后代。
在这个例子中,是的,他们会返回相同的东西。
这不起作用,因为您没有指定要查找的元素。您需要将#e> #f或#e #f抓取您的ID。
如果这是一个真实的场景,#e> #f将只能找到孩子,没有嵌套在下面。 #e #f将抓取任何id =“f”元素,无论它们嵌套在结构中多远。
首先,我假设你的意思是$('#e > #f')
和$('#e #f')
。
在你的例子中,他们都会返回相同的东西。不同的是,$('#e #f')
也将在这种情况下返回一个div:
<div id="e">
<div id="g">
<div id="f"></div>
</div>
</div>
$('#e > #f')
,而另一方面,会不会有什么回报,因为它只会选择其中的直接子等元素元素。
你的假设是正确的,因为这是我最初发布的内容的逐字。谢谢您的回答。 – 2009-11-10 00:31:57
啊,对不起 - 我不知道为什么,我以为你发布了'$('e> f')'。我一定有误读。 – igul222 2009-11-10 02:48:44
是的,因为HTML中没有e
或f
元素,它们将始终返回空的jQuery对象。
如果该元素是id="e"
元素的直接后缀,则调用$('#e > #f')
将返回元素id="f"
。
电话$('#e #f')
将返回元素与id=f
,如果它是在id="e"
元素内的某个地方。
编辑:
注意:由于问题在我回答后进行了编辑,第一句不适用于问题目前的样子。
阅读'有了这个标记'下的第一部分:';然后改述你的第一句话。 – 2009-11-10 00:32:46
@Alexsander:我明白了,我在写完答案后改变了你的问题。 – Guffa 2009-11-10 01:25:19
- 1. 这两个选择器有什么区别?
- 2. 这些选择器有什么区别?
- 3. 这些jQuery选择器有什么区别吗?
- 4. jquery选择器和js选择器有什么区别?
- 5. 这两个Coffeescript有什么区别?
- 6. 这两个指针有什么区别?
- 7. 这两个定义有什么区别?
- 8. 这两个声明有什么区别?
- 9. 这两个数组有什么区别?
- 10. 这两个代码有什么区别
- 11. 这两个陈述有什么区别?
- 12. 这两个陈述有什么区别?
- 13. 这两个声明有什么区别?
- 14. 这两个查询有什么区别?
- 15. 这两个代码有什么区别
- 16. 这两个按钮有什么区别?
- 17. 这两个查询有什么区别?
- 18. 这两个....之间有什么区别?
- 19. 这两个声明有什么区别?
- 20. 这两个陈述有什么区别?
- 21. 这两个声明有什么区别?
- 22. 这两个文件有什么区别?
- 23. 这两个ViewController Pushes有什么区别?
- 24. 这两个jQuery代码片段有什么区别?
- 25. 这两个jQuery函数有什么区别?
- 26. 三元操作和这个选择有什么区别?
- 27. jQuery的空间和>选择器有什么区别?
- 28. 这两种语法有什么区别?
- 29. 这两种方法有什么区别
- 30. 这两种功能有什么区别?
有了这个标记,是的。 – 2009-11-10 10:24:59