Как получить элементы с определенным классом?

#jquery #html #css

#jquery — jquery — запрос #HTML #css — файл #jquery #css

Вопрос:

Я пытаюсь привязать некоторые конкретные функции к определенным ссылкам, которые имеют класс «aMySpecialClass». Пример:

 <a href="#" class="aMySpecialClass"></a>
  

Я попробовал несколько вариантов следующего кода, но безуспешно…

 jQuery('a').find('.aMySpecialClass').live(
    'click',
    function(event) {
        jQuery.fn.myfunction(this);
    });
  

Может ли jQuery найти все, используя jQuery (‘a’)?

редактировать: Отмечено, что эти ссылки и классы не определены во время выполнения, они динамически генерируются после того, как страница готова, она отправляет запрос на сервер и с результатами впоследствии создает эти ссылки с определенным классом.

Ответ №1:

Мне неприятно это говорить, но прочитайте документы.По сути, это просто синтаксис CSS-селектора.

 jQuery('a.aMySpecialClass').on('click', function (event)
{
    jQuery.fn.myfunction(this);
});
  

Ответ №2:

Вы пробовали jQuery('a.aMySpecialClass') ?

Комментарии:

1. Попался! Вот и все, после этого мне пришлось совместить это с live. Спасибо!

Ответ №3:

Попробуйте это:

 $('a.aMySpecialClass').live(
    'click',
    function(event) {
        jQuery.fn.myfunction(this);
});
  

Комментарии:

1. .live() не рекомендуется в jQuery 1.7. .on() следует использовать вместо этого. api.jquery.com/live

2. Это то, что я в итоге сделал, спасибо, Смаматти. Функция смогла запуститься после того, как я сгенерировал их динамически.

3. @MattBall Ты прав. Все еще использую старую версию и не подумал об этом.

Ответ №4:

Если вы используете find , вы будете искать элементы внутри ссылок. Просто создайте селектор как для тега, так и для класса:

 jQuery('a.aMySpecialClass')