我想检查是否有只有一个带有错误类的 div。如果是这样,我想.select()
输入的内容(在相应的输入类div中的那个)。
我该怎么做?
我的尝试不起作用:
if($("div.addition").hasClass(".error").length === 0) {
(this).parent().find('input').select();
}
HTML
<form>
<div class="input">
<input type="text">
<div>
<div class="addition">Message message.</div>
</div>
</div>
<div class="input">
<input type="text">
<div>
<div class="addition">Message.</div>
</div>
<div class="input">
<!-- So in this case this input's content will be selected -->
<input type="text">
<div>
<div class="addition error">Error message.</div>
</div>
</div>
</form>
答案 0 :(得分:0)
这是一个简单的JavaScript实现。除非您已经在使用它,否则无需使用jQuery。
var errors = document.getElementsByClassName('error');
if(errors.length === 1){
//If there is one class with error
var content = errors[0].innerHTML;
} else{
//there is more than one error class.
}
答案 1 :(得分:0)
我想检查是否只有一个带有错误类的div。
if ($("div.error").length === 1) {
// Exactly one div with the class "error"
}
else {
// Zero or more than one
}
答案 2 :(得分:0)
通过使用jQuery,它可以像:
$(document).ready(function(){
var div = $('.error');
if(div.length){
var val = div.parents('.input:first').find('input').val();
//val is the value of input
}
});
答案 3 :(得分:0)
此处&#39; sa jsFiddle应该这样做 - 我在帖子中提到您错过了</div>
标记,这是在小提琴中修复的 - 没有它,jquery选择器匹配两个输入。 js的概要:
if ($('div.error').length === 1) {
errorContent = $('div.error').parents('div.input').find('input').val();
alert(errorContent);
}