javascript - 如何使用 jQuery 获取后代 span 元素?

标签 javascript jquery html css

我有以下 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");    
});

EXAMPLE 1

注意:如果你想做一个投票计数系统,我会在页面加载时提取数字并在点击时加 1:

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

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

EXAMPLE 2

更新

要将其他值传递给点击事件,只需将它们添加为数据属性即可:

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

EXAMPLE 3

关于javascript - 如何使用 jQuery 获取后代 span 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27831314/

相关文章:

javascript - 通过javascript更改html内容

html - 悬停时更改 svg 文件的颜色

javascript - 当我将鼠标悬停在“产品”菜单上时,此代码需要进行哪些更改以提供正确的外观?

javascript - 正则表达式提取带括号的文本(一个字符串中的多个一)

javascript - javascript switch 语句的最佳实践

javascript - 如何避免要求客户端清除浏览器缓存以获取最新的 Javascript 更改?

jquery - 将类随机添加到两个 div 之一

javascript - 如何在jquery验证引擎中指定自定义无效条件?

javascript - 无法更改圆弧的半径

javascript - 如何使用 jquery 发出 POST 请求并在 django View (不是通用 View )中访问 POST 数据,而不使用 csrf token ?