Как установить параметр плагина jQuery на основе атрибута текущего элемента? - PullRequest
1 голос
/ 28 декабря 2010

Я настраиваю всплывающие подсказки, используя qTip .Мне интересно, как я могу установить опцию на основе атрибута текущего элемента?

$('*[data-tip]').qtip({ // enable qTip on all elements that has the attribute 'data-tip'
    content: this.attr('data-tip'); // I can't get this to work, is it possible?
});

1 Ответ

4 голосов
/ 28 декабря 2010

Вам нужно использовать .each(), чтобы иметь доступ к каждому элементу (как this), например:

$('*[data-tip]').each(function() {
  $(this).qtip({
    content: $(this).attr('data-tip');
  });
});

Однако , *[data-tip] является очень дорогим селектором (и может быть просто [data-tip]), если вы можете сузить его, чтобы он не проверял атрибут каждый элемент DOM будет намного быстрее.

Кроме того, в jQuery 1.4.3+ вы можете заменить $(this).attr('data-tip') на $(this).data('tip'), который просматривает атрибуты data- (если ключ не присутствует в объекте данных).

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