题
我想获得与类名数组中的最后一项。我的代码看起来是这样的
var getClassName = [];
getClassName = $(this).attr('class').split();
console.log(getClassName);
在控制台I 成为得到此答案
["classname1 classname2"]
我怎样才能获得最后的类名?
由于
解决方案
由于jensgram所指出的,你就要成功了;看他的答案细节,如果你想留下来的jQuery特定的。
但是,你正在做的浏览器做了很多额外的工作,这是你真的不需要jQuery的这样的一个时期:
var getClassName;
getClassName = this.className.split(' ');
console.log(getClassName[getClassName.length-1]);
在 className
DOM元素的属性是由所有主要浏览器支持(和可能是所有次要的)。
不过,除非你在一个紧密的循环这样做,$()
和attr
调用的额外开销可能并不真正的问题了。
其他提示
console.log(getClassName[getClassName.length-1]);
会做,的但的你需要传递的参数split()
:
var getClassName = $(this).attr('class').split(' ');
var lastIndex = getClassName.length - 1;
console.log(getClassName[lastIndex]);
修改:在使用this.className
强>结果
考虑使用this.className
代替$(this).attr('class')
的。这在其他的答案中提到
安迪·ê做了一项伟大的写了对我们如何倾向于过度使用jQuery的:的 利用真棒的jQuery功率给一个元素的访问属性 。的制品特别对待使用.attr("id")
的,但问题是对$(...).attr('className')
this.className
。
您的可能的甚至使用
var getClassName = (this.className || '').split(' ');
如果你不知道该.className
存在。
$(this).attr('class').split(' ').pop()
不隶属于 StackOverflow