jQuery相当于querySelector

Chr*_*phe 9 javascript jquery jquery-selectors selectors-api

什么是jQuery等价的querySelector?到目前为止我找到的唯一方法是选择所有然后选择第一个选择:

$(selectorString)[0]
Run Code Online (Sandbox Code Playgroud)

有了上面的表达式,jQuery是否足够智能,在找到第一个匹配后停止?

更新:@Mutnowski建议使用eq()和第一个,但在阅读jQuery文档后,这两个方法似乎有相同的缺点:jQuery将首先获得所有匹配,然后只过滤掉第一个元素.

Mur*_*ski 6

您希望.eq(index)获取索引

$("td").eq(2)
$("td:eq(2)")
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/eq/

如果你只想第一次使用.first()

$("tr").first()
$("tr:first")
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/first/


Chr*_*phe 5

因此,在 jQuery 或我看过的其他库中,似乎没有与 querySelector 等效的东西。

解决方法是选择所有匹配的元素(相当于 querySelectorAll)然后过滤掉第一个。这可以使用 [0] (返回一个 html 节点)或按照@Mutnowski 的建议使用 eq(0) 或 first (返回一个 jQuery 对象)来完成。