Проблема выбора jQuery (все дети внутри Div) - PullRequest
2 голосов
/ 22 сентября 2009

Я пытаюсь прикрепить функцию щелчка, которая добавляет класс CSS к всем тегам привязки внутри определенного div. Почему-то я не могу заставить jQuery сделать это (без ошибок JS).

Див:

</p> <pre><code><div id="better"> <a href="1.aspx">One</a> <a href="2.aspx">Two</a> <a href="3.aspx">Three</a> </div>

Мой код jQuery (внутри $ (document) .ready):

</p> <pre><code> $("#better > a").click(function() { $(this).addClass('active'); });

Я добавил предупреждение в функцию щелчка, чтобы увидеть, срабатывает ли оно, но ничего не происходит. Как я уже писал выше, я не получаю ошибки JavaScript в консоли ошибок FF.

Помощь

Редактировать: это просто пример кода. Да, нет смысла менять класс при перенаправлении. Я просто упростил свой код до сути того, что я пытаюсь сделать. :)

Ответы [ 5 ]

3 голосов
/ 22 сентября 2009
$("#better a").bind('click', function() { $(this).addClass('active'); });
1 голос
/ 22 сентября 2009

Если я понимаю, что вы спрашиваете ... вы хотите закончить с этим?

<div id="better">
    <a href="1.aspx" class="active">One</a>
    <a href="2.aspx" class="active">Two</a>
    <a href="3.aspx" class="active">Three</a>
</div>

Если какая-либо ссылка в этом разделе была нажата, верно? (вы сказали ВСЕ якорные теги) ... затем используйте это:

$("#better").click(function() {
 $(this).find('a').addClass('active');
 return false;
});
0 голосов
/ 22 сентября 2009

Попробуйте запустить код внизу страницы прямо перед закрывающим тегом тела или в функции $ (document) .ready ().

Используя Firebug, вы можете использовать console.log () для записи в консоль javascript, чтобы убедиться, что селектор действительно возвращает элементы. пример: console.log ($ ("# better> a"). length)

0 голосов
/ 22 сентября 2009

Две догадки:

  1. Возможно, у вас есть другой элемент на странице с id="better"? Идентификатор должен быть глобально уникальным, поэтому селектор вернет только один из них.

  2. Попробуйте сделать так, чтобы функция щелчка возвращала значение false, чтобы пользователь не переходил по ссылке. (Кажется странным добавлять класс, когда пользователь покидает страницу, если, возможно, ссылка не открывается в новом окне.)

0 голосов
/ 22 сентября 2009

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

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