Что это за селектор jQuery: a [@ rel * = lightbox]? - PullRequest
5 голосов
/ 24 января 2011

Я делаю небольшой рефакторинг для некоторой логики, и я натолкнулся на этот кусок кода, и я все еще пытаюсь понять его

  try {
   $('a[@rel*=lightbox]').lightBox(); 
  } catch (e) {}

Я понимаю часть try catch, но что это за часть

('a[@rel*=lightbox]')

Ответы [ 5 ]

12 голосов
/ 24 января 2011

Это старый способ XPath сказать, что найти якоря с lightbox в их атрибуте rel .Таким образом, он будет соответствовать привязке, как в примере ниже ...

<a href="http://example.com/image.jpg" alt="image" rel="external me lightbox">Link</a>

Он устарел и удален из новых версий jQuery.Чтобы заставить его работать с последними версиями, просто опустите @:

$('a[rel*=lightbox]')
2 голосов
/ 24 января 2011

Это селектор атрибута , содержащий с использованием устаревшего синтаксиса @ (XPath).

1 голос
/ 24 января 2011

Есть лучший способ написать этот селектор.

$('img[rel="lightbox"]')

Это выберет любые теги изображений с отношением «лайтбокс».Вам не нужно делать оператор try, если вы правильно включили все свои сценарии, он должен работать нормально.

0 голосов
/ 24 января 2011

Он ищет ссылки на странице, которые имеют ссылку для запуска окна лайтбокса.

0 голосов
/ 24 января 2011

Выбирает все ссылки, которые содержат лайтбокс в атрибуте rel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...