我知道如何id1
使用 jQuery:查找带有 id 的文档的所有元素$("#id1")
。
有没有类似的方法来查找给定 div 中的所有元素 id id1
?
如果您只想在 #test 内部找到 #id1,那么您可以使用以下命令:
$("#test #id1")
或这个:
$("#test").find("#id1")
这些在结构上是相同的。事实上,第一个最终在内部做与第二个基本相同的事情。
请记住,您只能在给定文档中出现任何 id 值,但有时您只想查找#id1
它是否在#test
其中,这将为您做到这一点。
如果你只想要#id1,那么你不需要绑定范围(因为只能有一个)所以你可以这样做,这也快得多:
$("#id1")
假设您的测试 div 的 id 为“test”,
你可以做
$("#test #id1")
或者
$('#test').find("#id1")
但两者都没有真正意义,因为您必须在文档中只有一个具有给定 id 的元素。因此,假设您的文档是正确的,两者都等同于$("#id1")
.
对于通过 id 选择元素,id 选择器的性能足够好,这$('#id')
通常是您所需要的。但是,如果您已经有对#test
<div>
存储在变量中的引用,则可以为 jQuery 选择器提供上下文,这将减少搜索完成的工作。
请注意,这仅在您已经拥有对 的引用 时才有用#test
,否则您最终会进行两次搜索。
用法:
var $testDiv = $('#test');
// ...
var $id1Div = $('#id1', $testDiv)
如链接中所述,它在计算上等同于执行以下操作:
$testDiv.find('#id1')
由于 html ID 是唯一的,并且搜索是使用浏览器的 native 实现的document.getElementById
,因此在这里提供上下文并不是特别有用。但对于其他选择器,它可能非常有用。