突出显示点击的li jquery

时间:2016-04-14 16:30:26

标签: jquery

我正在尝试强调li元素,我知道有一种非常有效的方法来做我想要做的事情。点击突出显示所选的li,我使用的方法效率不高,你可以看到。如果我有20个李,那么这样做是没有意义的。

HTML:

<ul>
<li id="level1"><a>Light</a></li>
<li id="level2"><a>Medium</a></li>
<li id="level3"><a>Enterprise</a></li>
</ul>

代码: applicationLicenseLevel是传入(1,2或3)

的数字

在document.ready()中调用此开关。

 switch (applicationLicenseLevel) {
                    case 1:
                        $('#level1').addClass('activeLicenseLevel');
                        $('#level2').removeClass('activeLicenseLevel');
                        $('#level3').removeClass('activeLicenseLevel');
                        break;
                    case 2:
                        $('#level2').addClass('activeLicenseLevel');
                        $('#level1').removeClass('activeLicenseLevel');
                        $('#level3').removeClass('activeLicenseLevel');
                        break;
                    case 3:
                        $('#level3').addClass('activeLicenseLevel');
                        $('#level1').removeClass('activeLicenseLevel');
                        $('#level2').removeClass('activeLicenseLevel');
                        break;
                }

2 个答案:

答案 0 :(得分:2)

不要为20 + li元素设置ID。这将为名称访问的全局范围中具有id的每个元素创建引用。

建议:只需将其UL。如果需要区分其他UL,那也是如此。

var lis = $("ul li").click(function(){
  lis.removeClass("activeLicenseLevel");
  $(this).addClass("activeLicenseLevel");
});

我还没有注意到你的真实情况。对于你的情况,你可以这样做,

var lis = $("ul li").removeClass("activeLicenseLevel");
lis.eq(applicationLicenseLevel).addClass("activeLicenseLevel");
//.eq(index) will get the element based on the supplied index from the element collection

不要不必要地设置id,我已经在这个答案的上面部分给出了原因。

答案 1 :(得分:2)

您可以考虑使用jQuery中的starts-with selector ^=以{level}开头的import java.util.Random; import java.util.ArrayList; public class Game { ArrayList<Integer> numere = new ArrayList<>(); ArrayList<Bila> balls = new ArrayList<Bila>(); ArrayList<String> culori = new ArrayList<>(); Random random = new Random(); int nrBalls=0; public void createColours(){ for(int i=0;i<7;i++){ culori.add("Portocaliu"); culori.add("Rosu"); culori.add("Albastru"); culori.add("Verde"); culori.add("Negru"); culori.add("Galben"); culori.add("Violet"); } } public void createNumbers(){ for(int i=1;i<50;i++){ numere.add(i); System.out.print(numere.size()); } } public void createBalls(){ while(nrBalls<36){ int nr =numere.get(random.nextInt(numere.size())); numere.remove(nr); String culoare =culori.get(random.nextInt(culori.size()-1)); culori.remove(culoare); balls.add(new Bila(culoare,nr)); nrBalls++; } } } 属性删除所有属性,然后将该类添加到当前类中:

ID