如何在jquery中获取元素的所有类名?

时间:2011-05-17 04:43:54

标签: javascript jquery

我有一些李的

 li class="views-row views-row-2 views-row-even"  
 li class="views-row views-row-3 views-row-odd"  
 li class="views-row views-row-4 views-row-even"  
 li class="views-row views-row-5 views-row-odd"  

现在hover我正在为相应的li添加选择类。假设我在第一个li元素上hover,所选的类被添加到此li。所以我会有 li class =“views-row views-row-2 views-row-even selected ”。现在我如何获得此选定li的 views-row-2 类。同样,如果选择第二个li,我需要 views-row-3 类等等。请帮忙

3 个答案:

答案 0 :(得分:4)

有几种选择,但这是一个很好的选择:

views_row = $("li.selected").attr("class").match(/(views\-row\-[0-9]+)/)[0];

答案 1 :(得分:1)

你没有提到view-rows-2类的特殊之处:

  • 您是否已经知道您想要哪个课程?
  • 它总是这个类吗?

根据您提供的信息,以下是我的建议:

  1. 您可能需要查看.hasClass()

  2. 如果您想要元素的所有类,请参阅Get class list for element with jQuery

  3. 因此,如果您想根据前缀(在您的情况下似乎是views-row-)获取类,您可以使用这些SO问题的答案中建议的内容:jQuery - Get a element class based on a prefix和{{3 }}

答案 2 :(得分:0)

你可以使用像这样的indeOf()...假设你已经选择了所选的类......

if(class.indexOf('views-row-2')!=-1){
    //do what ever you want to do, you can use sbstr() to get your class name too.
 }