jQuery - 匹配具有以某个字符串开头的类的元素

7

我有一些类似这样的链接:

<a href="#" class="somelink rotate-90"> ... </a>

我该如何将函数绑定到所有类名以 "rotate-" 开头的元素上?
1个回答

10

你可以像这样使用以某个属性值开头的选择器

$('a[class^="rotate-"]')
选择具有指定属性且属性值以给定字符串精确开头的元素。 因此,您的代码应为:
$('a[class^="rotate-"]').click(function(){
  // do stuff
});

注意:如果您想查找包含某个文本的元素,无论其在属性中的位置如何,您应该使用以下方法:


$('a[class*="rotate-"]').click(function(){
  // do stuff
});

1
@David Thomas:这是从jQuery文档中引用的。请关注我提供的示例 :) - Sarfraz
好的,a[class*="rotate-"] 也会匹配 class="anotherrotate-90"。如果这是个问题,我相信以下代码将是解决方案:a[class^=" rotate-"], a[class*=" rotate-"],即首先或任何其他地方对包含类 rotate-* 的集合进行联合。 - jensgram
@jensgram:完全同意,让我们看看OP在干什么 :) - Sarfraz
@jensgram:好主意。但这也无法找到以"rotate-xxx"为第一个类的链接。我想你的意思是在第一个选择器中使用a[class^="rotate-"](请注意没有空格)。 - Roatin Marth
@Roatin Marth 是的,那是个打错字 :) 谢谢 - jensgram
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接