addClass () не добавляет класс - PullRequest
       5

addClass () не добавляет класс

0 голосов
/ 25 декабря 2011

Я впервые использую jQuery для добавления класса к элементу на панели навигации, но класс '.selected' не добавляется.

Пожалуйста, вы можете сказать мне, где я иду не так?

Вот пример: http://jsfiddle.net/v32qy/2/

Спасибо!

Ответы [ 3 ]

7 голосов
/ 25 декабря 2011

this это не объект jQuery, это фактический элемент DOM.Чтобы превратить его в объект jQuery, используйте $(this).Итак:

$(this).addClass('selected');

Другая проблема в jsFiddle состоит в том, что вы не выбираете элемент <a>, вы выбираете <h2>.Наконец, ссылка идет. Вот все, что исправлено.


Что-то еще, что вы могли бы рассмотреть, это то, что element.innerText не имеет очень хорошей поддержки браузера из того, что я видел (то естьработает только в IE).Просто небольшая заметка.

0 голосов
/ 25 декабря 2011

Для доступа к текущему элементу вы должны использовать $(this), а не просто this

Вот обновленная скрипка.http://jsfiddle.net/v32qy/6/

Я также изменил способ получения внутреннего текста для использования функции jQuery text()

0 голосов
/ 25 декабря 2011

Вы хотите применить класс к привязке, в дополнение к исправлению синтаксиса.

$('#textContainer h2 a').click(function() {
    var title = this.innerText;
    $(this).addClass('selected');
 });
...