我试图在将鼠标悬停在元素上时获取该元素的类。
到目前为止,我已经取得了一些进展:
var classString = $(this).attr('class');
这给了我该元素的所有类(不幸的是不止一个)。例如,如果我这样做:
alert(classString);
我得到字符串“博客按钮主”。我只想获取该字符串的第一个单词(第一类)。我试过:
var myClass = $(classString).text().split(' ')[0];
alert(myClass);
期望只得到“blog”,但我得到一个空字符串。我确信这只是我犯的一个基本错误,但我看不到它。
最佳答案
classString
已经是一个字符串并且 split
是字符串的原型(prototype)函数,而不是 jQuery 函数。
var classString = $(this).attr('class'); // "blog button main"
var myClass = classString.split(' ')[0]; // "blog"
alert(myClass);
fiddle :https://jsfiddle.net/d927r9z4/
<小时/>如果你运行
var classArray = classString.split(' ');
console.log(classArray);
您将获得一个类数组:
["blog","button","main"]
fiddle :https://jsfiddle.net/d927r9z4/1/
<小时/>但它可以更快:
如果你使用vanilla JS classList
,它会快得多
var myClass = this.classList[0];
alert(myClass);
这样,您就不必创建 jQuery 对象(慢)或分割字符串(慢)。
fiddle :https://jsfiddle.net/d927r9z4/2/
关于jquery - 如何只获取元素的第一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40596013/