jQuery 获取以以下开头的类

标签 jquery html css jquery-selectors

我有以下 HTML

<button class="c1 c2 user-1"></button>
<button class="c1 c2 user-2"></button>
<button class="c1 c2 user-3"></button>

我知道点击了哪个按钮,如何从中获取 user-# 类?

最佳答案

一种方法是使用正则表达式来分解 class 属性值,如下所示:

$('button').click(function() {
  var classes = $(this).attr('class');
  var userClass = classes.match(/user\-\d+/gi)[0];
  console.log(userClass);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="c1 c2 user-1"></button>
<button class="c1 c2 user-2"></button>
<button class="c1 c2 user-3"></button>
<button class="c1 c2 user-111 foo1"></button>

然而,更可扩展、灵活且可靠的解决方案是将 user-X 值存储在元素的 data 属性中:

$('button').click(function() {
  var user = $(this).data('user');
  console.log(user);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="c1 c2" data-user="user-1"></button>
<button class="c1 c2" data-user="user-2"></button>
<button class="c1 c2" data-user="user-3"></button>

关于jQuery 获取以以下开头的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45977198/

相关文章:

javascript - JQuery UI 对话框 - 需要添加一个最小化按钮

javascript - 在此 JS slider 中的图像下方添加文本

html - 背景渐变问题

javascript - 什么是防止悬停影响的更好方法?

jquery - 此 jQuery 代码仅适用于 IE - 如何使其兼容所有浏览器?

jquery - 从远 Angular 动画宽度/高度

javascript - jquery 单击单选按钮和边框 TD

html - 组合两种 CSS 效果

javascript - 如何将我的菜单更改为切换菜单?

javascript - 使用 Jquery 自动格式化秒表时间输入