jQuery 1.5 функция щелчка мыши ошибка? - PullRequest
0 голосов
/ 03 февраля 2011

Иметь тот же код JS:

$("#pr_list .c").bind({
   click: function(event) {
       var m = $(this);
       var u = m.attr("rel");

       var lOpen = $("div.txt[rel="+u+"]");
       lOpen.html("!!!").slideDown();
   }
});

Иметь тот же HTML-код

<div id="pr_list">
    <div class="w c" rel="1">same text</div>
    <div class="txt" rel="1" style="display: none;"></div>
    <div class="w c" rel="2">same text2</div>
    <div class="txt" rel="2" style="display: none;"></div>
</div>

Когда нажимаешь на "тот же текст", открывается все div с классом txt, а не проверяй тот же rel attr .. почему?

Обновление: Ок, а как насчет реального примера: http://jsfiddle.net/3nYXA

Ответы [ 3 ]

2 голосов
/ 03 февраля 2011

Работает просто отлично: http://www.jsfiddle.net/JxEsK/

Вы получили опечатку в селекторе для .text.

1 голос
/ 03 февраля 2011

В вашем примере имена классов txt и text смешаны, это работает:

http://jsfiddle.net/N9EDj/

0 голосов
/ 07 февраля 2011

Ваш код имеет проблему здесь.

var lOpen = $("div.txt[rel="+u+"]");

Вы должны изменить это на:

var lOpen = $("div.txt[rel='"+u+"']");

Кавычки пропущены.Это было нормально в jQuery 1.4.x, но из jQuery 1.5 это не работает.

Проверьте это.http://api.jquery.com/category/selectors/attribute-selectors/

...