首页 > 解决方案 > jQuery:如何从元素中删除除最后一个类之外的所有类

问题描述

我有几个有一些类的跨度,我不知道每个有多少类,通常在两个到四个之间。我想删除除最后一个类(对应于一个人的姓氏)之外的所有类。这是html标记:

<span class="author-page-author-name"><span class="author-name-Enver author-name-Ali author-name-Akova">Enver Ali Akova</span></span>

所以上面应该变成:

<span class="author-page-author-name"><span class="author-name-Akova">Enver Ali Akova</span></span>

PS。我在页面上有几个 .author-page-author-name,因此它需要应用于多个作者,基本上删除与他们的名字和中间名相对应的类,但保留与其姓氏相对应的类。

感谢任何人都可以添加的任何见解!

标签: jquery

解决方案


您可以使用.split()和的组合.pop()

$('.author-page-author-name span').attr("class",function() {
  return $(this).attr('class').split(' ').pop()
});

演示

$('.author-page-author-name span').attr("class",function() {
  return $(this).attr('class').split(' ').pop()
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="author-page-author-name">
<span class="author-name-Enver author-name-Ali author-name-Akova">Enver Ali Akova</span></span>


推荐阅读