jQuery选择第一个孩子三级深

时间:2012-10-02 15:54:22

标签: javascript jquery

我有以下HTML结构:

<div class="s1>
 <div class="s2">
  <span class="span1">
    <span>text</span>
  </span>
 </div>
</div>

目前,我正在使用以下选择器选择最嵌套的范围:

$(".s1").find(">:first-child").find(">first:child").find(">:first-child")

是否有更有效的方法来选择内跨?

编辑:带有类s1的Div已经被缓存,所以我不能使用$(“selector”)。

5 个答案:

答案 0 :(得分:2)

您可以通过span1类

访问它
$('.span1 span')

答案 1 :(得分:1)

有几种选择,类似这样的选择:

.s1 .s2 .span1 span:first-child

我不确定你需要选择器的具体程度。

答案 2 :(得分:0)

给它一个类或Id,然后尝试访问它

 <span id="sp1" class="sp1">text</span>

$('#sp1')  or $('.sp1')

//或

$('.span1 > span')

答案 3 :(得分:0)

如果您在谈论效率,最快的是定义范围的ID:

<span id="spanX">text</span>
$('#spanX')

因为此选择器直接映射到跨浏览器getElementById

如果因某些原因无法触摸html,最快的方法是:

$('.span1 span:first')

答案 4 :(得分:-1)

$('div.s1 > div:first-child > span:first-child > span:first-child')

你需要更具体的东西吗?