如何获取类的值并过滤它们?

时间:2014-04-16 08:21:32

标签: javascript jquery

您好。如果有多个值,我怎么能得到一个类的值? 例如我有这个标签

<ul>
    <li id="145" class="AAA BBB">
    <li id="148" class="AAA BBB CCC">
</ul>
  1. class="AAA BBB"
  2. class="AAA BBB CCC"
  3. 每次点击此标签我都需要具有class属性的最后一个值。 例如,在上面的类(1)中我需要(BBB)和(2)我需要(CCC)。  我怎么能得到它们? 我不需要拥有所有的价值观。

2 个答案:

答案 0 :(得分:5)

在原生JS中:

var classNames = document.getElementById('145').className.split(/\s+/);
console.log(classNames[classNames.length - 1]) // 'BBB'

甚至更短:(建议mplungjan

var classNames = document.getElementById('145').className.split(/\s+/);
console.log(classNames.pop()) // 'BBB'

当然你可以把它变成一个单行:

document.getElementById('145').className.split(/\s+/).pop()

VisioN建议使用/\s+/代替' '作为split的参数,以捕获多个后续的空格,而不仅仅是单一的。
但是,您可能希望在类名后删除空格(如`class =&#34; a b c&#34;):

document.getElementById('145').className.trim().split(/\s+/).pop()

答案 1 :(得分:3)

您可以按空格使用.split(),然后使用.pop()。请尝试:

$(this).attr('class').split(' ').pop();

<强> Working Fiddle