选择Class并更改class的值而不使用For循环

时间:2017-12-12 13:31:17

标签: jquery

for (var i = 0; i < rows.length; i++) {
   if(("#Selected"+i+".menuClass").value = 'Y')){
      document.getElementById("Menu"+i).checked = true;
      document.getElementById("Menu"+i).value = 'Y';
      SelectedCount += 1;
   }
   //Functions will be added in this place
}

在JSP页面中,我将显示菜单列表。在这些菜单中只有一些菜单有&#34; menuClass&#34;在它中。找到所有菜单都有&#34; menuClass&#34; &#34; FOR循环&#34;使用。

但是在循环内部根据需求添加了功能。添加功能时,它会降低页面的性能。是否有任何方法可以选择菜单,它们都具有&#34; menuClass&#34;没有FOR循环,并执行菜单的功能,这些菜单都包含&#34; menuClass&#34;。

1 个答案:

答案 0 :(得分:-1)

来自OP的评论

  

从上面的回答中我得到了使用$('。menuClass')的想法。每个(function(){//添加的函数}它将只显示菜单,其中都包含“menuClass”。通过这个我们可以避免迭代不必要的菜单。 - Karthik Subramani 17年12月12日在13:55

我给他这个解决方案,但是这与他的问题不一致,他要求一种方法来做到没有循环,但在评论中他说他想要一种方法来正确过滤他的菜单,无论循环与否。

使用each()

$(".menuClass").each(function(item, index){ //add functions. }) 

要详细了解此次访问Jquery Documentation

这样,你可以过滤掉元素的数量,你仍然会遍历DOM,但是由于类选择器的原因,它会非常少。