我想获得与类名数组中的最后一项。我的代码看起来是这样的

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()

请注意对于分割的文件:

http://www.w3schools.com/jsref/jsref_split.asp

您必须写:

split(' ')

如果没有分隔符“整个字符串将被返回”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top