我有以下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。非常感谢帮助,谢谢!
答案 0 :(得分:1)
如果您打算使用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");
});
注意:如果您正在寻找一个upvote计数系统,我会在页面加载时拉取该数字并在点击时添加1:
//pull current number
var currentCount = $(".upvote .rating").text();
$(".upvote").click(function(){
$(this).find(".rating").html(parseInt(currentCount)+1);
});
要将其他值传递给click事件,只需将它们添加为数据属性:
<div class="upvote" data-one="hello" data-two="goodbye">