2012-09-15 33 views

回答

2

如果你想找到#ID1只有当它的#TEST里面,那么你可以使用这个:

$("#test #id1") 

或本:

$("#test").find("#id1") 

这些都是结构相同。事实上,第一个内部与第二个基本相同。

请记住,您在给定文档中只能出现一次任何id值,但有时候您只想找到#id1,如果它位于#test中,并且这会为您执行此操作。

如果你只是想#ID1,那么你并不需要绑定的范围(因为只能有一个),所以你可以做到这一点,这也是快了很多:

$("#id1") 
2

假设您的测试div有id为 “测试”,

你可以做

$("#test #id1") 

$('#test').find("#id1") 

但两者都没有意义,因为您必须在文档中具有给定ID的只有一个元素。所以,假设你的文件是正确的,两者相当于$("#id1")

0

为了通过id选择一个元素,id选择器执行得足够好,以至于$('#id')一般都是你所需要的。如果您已经参考了存储在变量中的#test<div>,那么jQuery选择器可能会有provide a context,这将减少搜索所完成的工作。

请注意,如果您的已经参考#test,否则您将最终执行两次搜索。

用法:

var $testDiv = $('#test'); 
// ... 
var $id1Div = $('#id1', $testDiv) 

为链接所提到的,在计算上等同于做:

$testDiv.find('#id1') 

由于HTML ID是唯一的,并且搜索与浏览器的原生document.getElementById实施,提供上下文在这里并不特别有用。但对于其他选择器,它可能非常有用。

相关问题