jquery 关于循环判断的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 关于循环判断的问题相关的知识,希望对你有一定的参考价值。

if(!$(".nav_q1").find("li").hasClass("on"))
alert("第一题没有选");

if(!$(".nav_q2").find("li").hasClass("on"))
alert("第2题没有选");

if(!$(".nav_q3").find("li").hasClass("on"))
alert("第3题没有选");
else
//计算总分

如何简化这些代码

既然已预知共有3个标签,且这3个标签都有共同的特性(包含li,li可能会有class为on的属性值),可以使用jQuery直接判断它们的数量,如果存在3个li的class带有on属性值的话,就是成功了。举例如下:

HTML代码:

<ul class="nav_q1">
    <li class="on">我是第一题</li>
</ul>
<ul class="nav_q2">
    <li class="on">我是第二题</li>
</ul>
<ul class="nav_q3">
    <li class="on">我是第三题</li>
</ul>

JavaScript代码:

if ($(\'.nav_q1, .nav_q2, .nav_q3\').find(\'li.on:first\').length == 3) 
    alert(\'验证通过\');
else
    alert(\'第\' + ($(\'.nav_q1, .nav_q2, .nav_q3\').find(\'li:not(".on")\').first().parent(\'ul\').index() + 1) + \'题没有选\');

//第一行中li.on:first带有一个:first是为了防止同一个父元素下多个li标签存在class的on属性。只计算一个。
//如果每个父元素下都有li.on那么就是成功了。
//在else中提醒未选的那条语句的li:not(".on")是去寻找父元素下class不包含on的li标签。后面的.first()是获取第一个被匹配的li标签。

这样处理的话,只是一行if语句就结果问题了。

代码已在本地测试过,可以提示验证通过或者某一个题未选。

参考技术A js跳出each循环

return false 跳出循环,return true 进入下一个循环

js跳出for循环

break;直接退出for这个循环。这个循环将不再被执行!
continue;直接跳出本次for循环。下次继续执行。
return语句就是用于指定函数返回的值。即使函数主体中还有其他语句,函数执行也会停止!

jquery循环输出json数据

参考技术A 判断键名即可。
根据查询相关公开信息显示,在循环当中判断键名,结合正则表达式判断正确即可。
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库。

以上是关于jquery 关于循环判断的问题的主要内容,如果未能解决你的问题,请参考以下文章

2.关于python的if判断,循环总结。

关于 0+...+n 不使用循环判断

5.14--关于循环中平级判断顺序的一点感悟

关于hasNextInt判断后无限循环输出else项的解决办法

关于JS如何判断一个字符串中存在多少个相同的数据?

关于在判断条件中使用strlen()函数的问题