0

我有以下 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").

4

5 回答 5

2

您可以通过 span1 类访问它,

$('.span1 span')
于 2012-10-02T15:55:56.957 回答
1

有几个选项,这样的东西应该可以工作:

.s1 .s2 .span1 span:first-child

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

于 2012-10-02T15:56:23.053 回答
0

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

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

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

// 或者

$('.span1 > span')
于 2012-10-02T15:56:25.623 回答
0

如果您在谈论效率,最快的方法是为 span 定义一个 id:

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

因为这个选择器直接映射到跨浏览器的getElementById

如果由于某种原因您无法触摸 html,最快的方法是:

$('.span1 span:first')
于 2012-10-02T16:00:56.137 回答
-1
$('div.s1 > div:first-child > span:first-child > span:first-child')

你还需要比这更具体的吗?

于 2012-10-02T15:56:37.877 回答