如何使用jQuery的“属性包含前缀选择器”检查连字符后面的内容

时间:2012-03-19 19:13:56

标签: javascript jquery css-selectors

我有一些类似的HTML:

<a class="link" href="#>link</a>
<a class="link-0" href="#>link</a>
<a class="link-1 enabled" href="#>link</a>
<a class="link-2" href="#>link</a>

我可以通过以下方式选择所有这些链接:

$('[class|="link"]');

但我发现很难检查连字符后面的内容,我想通过attr('class')分割split(' ')并检查每个类,如果它以“链接”开始并再次分割split('-')

任何人都知道更好的方法吗?

2 个答案:

答案 0 :(得分:0)

有趣的是这个选择器的其他变体与它不匹配 - 可能是带有连字符的jquery的错误。

$('a[class^="link-"]')

将其他人的工作变成了,而不是“字选择器”

$('a[class*="link-"]')

答案 1 :(得分:0)

您可以使用正则表达式:

var matches = element.attr("class").match(/^link-?(\d*)$/);
var whichLink = matches[1];