Выберите элементы, у которых нет определенных слов в их атрибуте класса - PullRequest
3 голосов
/ 18 июля 2010

Как выбрать только <a> элементы, которые не имеют слова gallery внутри атрибута id или class ?

Ответы [ 4 ]

10 голосов
/ 18 июля 2010

Попробуйте этот селектор:

a:not([id*=gallery], [class*=gallery])

Это выберет каждый элемент a, который не имеет «галереи» ни в своем атрибуте id, ни в атрибуте class.

Или для полного совпадения идентификатора или имени класса:

a:not([id=gallery], [class~=gallery])

Это выберет каждый элемент a, у которого нет «галереи» в качестве идентификатора или имени класса.

1 голос
/ 18 июля 2010

в jquery есть селектор hasClass, который вы можете использовать.попробуй это.

проверка только для класса

$('a').each(function(){
if (!$(this).hasClass('gallery'))
  {
       //code here
  }
}); 

или проверка для класса и идентификатора

$('a').each(function(){
if (!$(this).hasClass('gallery') && $(this).attr('id').indexOf('gallery') == -1)
  {
       //code here
  }
});
1 голос
/ 18 июля 2010

Используйте метод not () http://api.jquery.com/not/

$("a").not(document.getElementById('gallery'))
1 голос
/ 18 июля 2010

Один из способов - вот так:

$('a').each(function(){
  if ($(this).attr('class').indexOf('gallery') == -1 && $(this).attr('id').indexOf('gallery') == -1) { 
    // your code....
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...