2016-02-24 4 views
4

Я пытаюсь написать регулярное выражение, котороеRegex в JQuery селекторы

не позволяет ряд прийти до или после числа, как.

У меня есть id S, как этот

abcd-1 
abcd-11 
abcd-21 
... 
abcd-91 

Я не могу понять, как написать регулярное выражение, которое

дает мне элемент, который есть только 1

Я имею в виду abcd-1 (без цифр до и после 1). Я делаю что-то вроде этого

$("[id$=1]") 

какой дает мне все элементы из abcd-1 в abcd-91. Я всего лишь abcd-1.

Не могли бы вы помочь?

ответ

2

Там существует регулярное выражение фильтра элементов селекторов, которые вам нужно добавить к JQuery:

http://james.padolsey.com/javascript/regex-selector-for-jquery/

Вы можете использовать его, как показано ниже:

// Select all elements with an ID starting a vowel: 
$(':regex(id,^[aeiou])'); 

// Select all DIVs with classes that contain numbers: 
$('div:regex(class,[0-9])'); 

// Select all SCRIPT tags with a SRC containing jQuery: 
$('script:regex(src,jQuery)'); 

В вашем случае должен следующим матч:

$(':regex(id,\w*-1)'); 

Или вы можете использовать filter только с JQuery:

$('*').filter(function() { 
     return this.id.match(/\w*-1/); 
    }).click(function(){ //your click event code here }); 
+0

, который позволит мне найти элемент с 'abcd-1', а не все из них –

+0

Вы можете создать регулярное выражение, соответствующее всем необходимым, я добавил тот, который соответствует ваш случай – KAD

0

Вы не можете использовать регулярное выражение в селекторе. (Не только с базовой библиотекой jQuery.)

Но вам не нужно регулярное выражение, чтобы реализовать то, что вы описываете. Вы уже используете «attribute end with» селектор, который находит все элементы, заканчивающиеся указанным текстом, без учета того, что было до этого текста.

Как насчет поиска идентификаторов, заканчивающихся на -1? Как и в:

$("[id$='-1']") 

Это будет соответствовать abcd-1 элемент, который вы просили об этом, но не abcd-91.

+0

бы это решить эту проблему, потому что у меня нет идентификатора, который заканчивающуюся -1 –

+1

Да вы делаете. Вы сказали, что хотите выбрать элемент с id 'abcd-1', который явно * делает * заканчивается на' -1'. – nnnnnn

+0

спасибо человеку. но я должен пойти с ответом @KAD –

Смежные вопросы