Обновление DOM текста на основе щелчка в JQuery - PullRequest
0 голосов
/ 06 февраля 2012

Моя простая структура HTML:

<html>
    <body>
<p id="5">
    My Text Qoted Here - 
    <span class="author">Author </span>
          <br>
          <span class="uptext">20</span>
          <img class="im" class="upimg" 
          src="http://bgathinktank.files.wordpress.com/2011/01/vote-button.jpg" />
          <img class="im" class="downimg"
          src="http://2.bp.blogspot.com/_XeuZ1yDnv4Q/TSUkAT6T1dI/AAAAAAAADR8/nPHP4JvVxy8/s1600/vote.jpg" />
          <span class="downtext">5</span>
          </p>
</body>
</html>       

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

я пишу следующий код jquery для него:

$(function() {
 $(".upimg").click(function(e) {
        e.preventDefault();
        alert("here1");
        curr_val = $(this).closest(".uptext").text();
        nos = parseInt(curr_val, 10) + 1;
        $(this).closest(".uptext").text(nos);
    });

    $(".downimg").click(function(e) {
        e.preventDefault();
        alert("here2");
        curr_val = $(this).closest(".downtext").text();
        nos = parseInt(curr_val, 10) + 1;
        $(this).closest(".downtext").text(nos);
    });

});

Но, похоже, не отвечает. Вы можете найти скрипку здесь

Ответы [ 2 ]

4 голосов
/ 06 февраля 2012

Ваши <img> теги имеют два атрибута класса:

<img class="im" class="upimg"

Попробуйте изменить это на

<img class="im upimg"

Кроме того, метод closest() возвращает ближайший родительский элемент , а не соседний брат, поэтому для поиска правильного элемента uptext необходимо использовать:

$(this).prev().text()
1 голос
/ 06 февраля 2012

вы не можете использовать 2 атрибута класса ты должен сделать это

<img class="im upimg" 
          src="http://bgathinktank.files.wordpress.com/2011/01/vote-button.jpg" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...