这是我的代码:
console.log($(this).attr('class'));
打印className1 className2
。看到?这是两个类名。因为clicked元素有两个类名。
现在我想得到第一堂课。在这种情况下,它是className1
。我怎样才能做到这一点?
解析/爆炸每个空间的结果是一个肮脏的解决方案。我正在寻找标准方法。
答案 0 :(得分:1)
首先,获取您的课程,然后按空格split()
将其转换为array
$('a').click(function() {
var firstClass = $(this).attr('class').split(" ");
console.log(firstClass[0]);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="className1 className2">Click me!</a>
&#13;
或者您可以使用classList
:
$('a').click(function() {
var firstClass = this.classList[0];
console.log(firstClass);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="className1 className2">Click me!</a>
&#13;
答案 1 :(得分:0)
试试这个
var class = $(this).attr('class');
var st = class.split(' ');
var firstClass = st[0];
答案 2 :(得分:0)
您可以使用classList,它返回该元素的所有类的集合
this.classList[0];
更多信息: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList