1

我知道如何id1使用 jQuery:查找带有 id 的文档的所有元素$("#id1")

有没有类似的方法来查找给定 div 中的所有元素 id id1

4

3 回答 3

2

如果您只想在 #test 内部找到 #id1,那么您可以使用以下命令:

$("#test #id1")

或这个:

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

这些在结构上是相同的。事实上,第一个最终在内部做与第二个基本相同的事情。

请记住,您只能在给定文档中出现任何 id 值,但有时您只想查找#id1它是否在#test其中,这将为您做到这一点。

如果你只想要#id1,那么你不需要绑定范围(因为只能有一个)所以你可以这样做,这也快得多:

$("#id1")
于 2012-09-15T07:21:44.673 回答
2

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

你可以做

$("#test #id1")

或者

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

但两者都没有真正意义,因为您必须在文档中只有一个具有给定 id 的元素。因此,假设您的文档是正确的,两者都等同于$("#id1").

于 2012-09-15T07:22:11.727 回答
0

对于通过 id 选择元素,id 选择器的性能足够好,这$('#id')通常是您所需要的。但是,如果您已经有对#test <div>存储在变量中的引用,则可以为 jQuery 选择器提供上下文,这将减少搜索完成的工作。

请注意,这仅在您已经拥有对 的引用 时才有用#test,否则您最终会进行两次搜索。

用法:

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

如链接中所述,它在计算上等同于执行以下操作:

$testDiv.find('#id1')

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

于 2012-09-15T09:14:53.483 回答