如果$(this(为空,我将尝试在prev((上添加class,如果不是,则尝试删除class,但无法使其工作:
function sfVide(){
var noentry = false;
$('.sf').each(function(){
if($(this).val().trim()==""){
noentry = true;
$(this).prev().addClass("test");
}
else {
$(this).prev().removeClass("test");
}
});
return noentry;
}
HTML
<a class="sf--trigger">Subs</a>
<div class="sf"></div>
用于测试的实时代码笔:https://codepen.io/mSyx/pen/MWayKQx
.val()
用于input
元素。在您的示例中,您可能应该使用text()
(也可以使用html()
(:
$('.sf').each(function(){
if( $(this).text().trim() == "" )
{
noentry = true;
$(this).prev().addClass("test");
}
else
{
$(this).prev().removeClass("test");
}
});
.btn {
background: blue;
display: block;
height: 100px;
width: 100px;
}
.btn.test {
background: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" class="btn"></a>
<div class="sf"></div>