jquery - 如何只获取元素的第一个类?

标签 jquery substring this

我试图在将鼠标悬停在元素上时获取该元素的类。

到目前为止,我已经取得了一些进展:

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/

相关文章:

javascript - 加载 iframe 和目标内容

javascript - jquery 在其他事件处理程序中调用事件处理程序函数

jquery - Highstock 的 data.csv 从 01.01.1970 开始

javascript - JavaScript 中基于构造函数的继承

c# - 泛型方法从父类(super class)获取参数类型

javascript - 使用 for 循环和函数计算表上的行总数

python - 检查单词列表中单词的子字符串匹配

java - 在Java中剪切包含2字节字符的字符串的更好方法是什么

c++ - 如何正确使用 string::erase

javascript - 添加事件调用其他方法的方法