Как проверить, что стоит после дефиса с помощью jQuery «Атрибут содержит префикс выбора» - PullRequest
0 голосов
/ 19 марта 2012

У меня есть 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(' ') и проверки каждого класса, если он начинается с "link", и снова с разделением с split('-').

Кто-нибудь знает лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 19 марта 2012

Вы можете использовать регулярное выражение:

var matches = element.attr("class").match(/^link-?(\d*)$/);
var whichLink = matches[1];
0 голосов
/ 19 марта 2012

Интересно, что другие варианты этого селектора не соответствуют ему - возможно, ошибка с jquery с дефисами.

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

Оказывается, что другие работают, но не "селекторы слов"

$('a[class*="link-"]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...