给出一个元素,我需要找到最接近的元素,它不是label
,也不是一个具有类的元素radio
或checkbox
有没有办法找到最接近的元素,它不是标签,也没有类
这里是我做了什么
$parent = element.closest('div');
if($parent.hasClass('checkbox') || $parent.hasClass('radio'))
{
$parent = $parent.parent();
}
error.appendTo($parent);
上面的代码工作的大部分,除了它只是寻找一个div
没有任何元素。
另外,有没有更简单的方法来写这段代码,我可以避免条件声明?也许,使用find()
方法来搜索,但不知道如何使用它。
这里是我试图寻找
<div class="form-group has-error">
<label for="gender" class="col-md-2 control-label">Gender</label>
<div class="col-md-10">
<div class="radio">
<label for="gender_">
<input id="gender_" required="1" name="gender" value="" aria-required="true" aria-describedby="gender-error" type="radio">
Please select your gender
</label>
</div>
<div class="radio">
<label for="gender_1">
<input id="gender_1" required="1" name="gender" value="1" aria-required="true" type="radio">
Male
</label>
</div>
<div class="radio">
<label for="gender_2">
<input id="gender_2" required="1" name="gender" value="2" aria-required="true" type="radio">
Female
</label>
</div>
</div>
</div>
我希望能够appent与类“COL-MD-10”的DIV的HTML代码。
不是它并不总是一个div或事件的同一类这就是为什么我要搜索未在.closest()
选择器标签选框或课堂上使用:not(input, label, .checkbox, .radio)
的
'element.closest( 'DIV:不(标签,.checkbox,.radio)')' –
现在,你有答案,我想推荐你解释什么试图完成整体,因为这似乎是一个非常有趣的方式来处理元素。如果我们知道整个场景,那么可能有更有效的方法。 – k2snowman69