JSFiddle:http://jsfiddle.net/grbw4tcg/1/
我有一个页面可能有多个带有类的分组输入块,比如说“error_bx”。我想要定位具有此类的第一个元素,并且在其中,我想检查并查看它的第三级子类是否有一个名为“uniform-select”的类,如果它有,那么将类“focus”添加到它。
到目前为止,我到了这里,但我不确定如何将变量'firstError'与遍历子元素结合使用。另外,有更有效的方法吗?
var firstError = $('.error_bx').first();
if($(firstError).children().eq(0).hasClass("uniform-select")){
$($(firstError).children().eq(0)).addClass("focus");//
}
else if($(firstError +' > div.row > div > div').hasClass("uniform-select")){
$('div.error_bx > div.row > div > div').addClass("focus");
}
else{
$($(firstError).children().eq(0)).focus();
}
HTML:
<div class="formgrp error_bx">
<div>
<div>
<div class="selector uniform-select">
<select>
<option>Month</option>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
</select>
</div>
</div>
<div>
<input type="text"/>
</div>
<div>
<input type="text"/>
</div>
</div>
</div>
<div class="formgrp">
<div>
<div>
<div class="selector uniform-select fixedWidth">
<select>
<option>Month</option>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
</select>
</div>
</div>
<div>
<input type="text"/>
</div>
<div>
<input type="text"/>
</div>
</div>
</div>
<div class="formgrp error_bx">
<div>
<div>
<div class="selector uniform-select">
<select>
<option>Month</option>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
</select>
</div>
</div>
</div>
</div>
<div class="formgrp error_bx">
<div>
<input type="text"/>
</div>
</div>
答案 0 :(得分:1)
使用此处列出的JQuery dom遍历方法: https://api.jquery.com/category/traversing/
在你的小提琴上,我用它来瞄准你讨厌的div:
var firstError = $('.error_bx').first();
f = firstError.children().children().children().eq(0);