仅当某些图像具有类imgact
时,我才想执行许多功能。
some function(){
if (!$('.imglib').hasClass('imgact')) {return;}
为避免重复上述行,我创建了一个函数:
function ifno(){
if (!$('.imglib').hasClass('imgact')) {return;}
}
然后:
some function(){
ifno();
...
不起作用。 some function
被执行。
该怎么做?
答案 0 :(得分:1)
您可以改为返回函数的结果,然后在代码中对其求值。这将允许您检查是非题,否则继续进行。
所以您的检查类函数应如下所示。
Continue
然后在您的示例中,您的代码将检查该类并运行该函数:
function ifno(){
return $('.imglib').hasClass('imgact');
}
答案 1 :(得分:1)
您缺少ifno
函数的return语句,可以执行以下操作。
$(".imglib").click(function(){
if(ifno(this)){
alert('have class');
}
else{
alert('do not have class');
}
})
function ifno(element){
return $(element).hasClass('imgact');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="imglib">test</button>
<button class="imglib imgact">test1</button>
答案 2 :(得分:0)
我建议您从函数中返回某些内容,例如下面的函数将返回false
function ifno(){
if (!$('.imglib').hasClass('imgact')) {return false;}else{return true;}
}
OR
function ifno(){
retun $('.imglib').hasClass('imgact');
}
然后
some function(){
if(ifno()){
console.log('Has Class');
}else{
console.log('Not Has Class');
}
...
我丢失了if-statement
后发现了@RoryMcCrossan,谢谢您,我已经编辑了答案