我有以下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”)。
答案 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')
你需要更具体的东西吗?