簡體   English   中英

如何使用jQuery獲取后代span元素?

[英]How to get descendant span element with jQuery?

我有以下HTML:

<a href="javascript:search_rate(this, 'key', 'upvote', 'url' );">
    <div>
        <span class="glyphicon glyphicon-thumbs-up"></span> <span class="rating">0</span>
    </div>
</a>

在函數search_rate中,我想使用傳遞給我的this變量來獲取具有class =“ rating”的元素,然后將其值從0更新為1。我使用的是jQuery,我寫了以下內容來嘗試獲取元件:

update_node = $(this).find('.rating');

但是,由於某種原因,update_node不能指向正確的DOM元素。 為了澄清我是一個初學者,一直在努力使用jQuery導航DOM。 非常感謝您的幫助,謝謝!

如果要使用jQuery,則不需要通過href傳遞函數。 你並不需要使用a在所有標簽。 只需定位被點擊的div並更新其子.rating

HTML

<div class="upvote">
    <span class="glyphicon glyphicon-thumbs-up"></span> 
    <span class="rating">0</span>
</div>

JS

$(".upvote").click(function(){
   $(this).find(".rating").html("1");    
});

例1

注意:如果您要使用upvote計數系統,我將在頁面加載時提取數字,並在單擊時將其添加1:

//pull current number
var currentCount = $(".upvote .rating").text();

$(".upvote").click(function(){ 
  $(this).find(".rating").html(parseInt(currentCount)+1); 
});

例子2

UPDATE

要將其他值傳遞給click事件,只需將它們添加為數據屬性即可:

<div class="upvote" data-one="hello" data-two="goodbye">

實施例3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM