2010-01-21 4 views
0
<div class="list_desc clearfix"> 
    <div class="badge"> 
     <div class="badgetop"> 
      <p class="list_vote" id="l_val_1">20</p> 
      <p class="list_vote_label">votes</p> 
     </div> 
     <div class="badgebottom" id="vl_1"> 
      <div><a href="#+1"/>+1</a></div> 
      <div><a href="#-1"/>-1</a></div> 
     </div> 
     <div class="badgebottom" id="vl_2"> 
      <div><a href="#+1"/>+2</a></div> 
      <div><a href="#-1"/>-2</a></div> 
     </div> 
    </div> 
</div> 

Как изменить текст # l_val_1, когда я нажимаю +1, текст # l_val_1 будет 21, -1 будет 19? Я хочу использовать jQuery. Не используя $ (# l_val_1) напрямую, так как идентификатор класса list_vote может иметь разные значения (например: # l_val_1 или # l_val_3) в странице HTMLКак получить родительский элемент моего элемента?

ответ

0

Вы можете сделать как этот

$(function(){ 
    $("div.badgebottom div a").click(function(){ 
     var node = $("div.badgetop p.list_vote"); 
     var nodeID = $("div.badgetop p.list_vote").attr("id");    
     node.text(eval(parseInt(node.text(),10) + $(this).text())); 
    }); 
}); 

Working Demo

+1

что с 'eval'? – peirix

+0

как получить идентификатор класса list_vote ??? , потому что я хочу использовать только идентификатор класса list_vote, когда я нажимаю ссылку ... – aslingga

+0

Отредактировал свой ответ – rahul

1

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

$("div.badge div.badgebottom div a").click(function(){ 
    var elementToChange = $("div.badge div.badgetop p.list_vote"); 
    elementToChange.text((parseInt(elementToChange.text()) + parseInt($(this).text())).toString()); 
}); 
Смежные вопросы