jquery - html有多个类名相同的div,如何给每个div绑定click事件并区分?
本文介绍了jquery - html有多个类名相同的div,如何给每个div绑定click事件并区分?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.页面有9个div,类名都是.flag,然后想给每个div都绑定一个click事件,点击.flag时,获取其后代元素.count的值和.ds-subtitle的rel属性。
下面这样的写法请问哪里出错了?请看开始三行后面注释
$(document).ready(function(){
//
//
$(document).on("click", ".flag" ,function(){//这一行有问题吗?
//获取页面点赞次数
var count = $("this").find(".count").text();//这一行呢?
//获取news id数据传递到php
var id= $("this").find(".ds-subtitle").attr("rel");//这一行呢?
alert(id);
// alert(count);
$.ajax({
url:"functions/php/like.php",
type:"POST",
// cache:false,
data:{count:count,id:id},
success:function(data){
// alert(data);
var str = data.split(",");
var bool = str[0];
var nums = str[1];
// alert(nums);
// console.log(data);
if (bool == "0") {
alert("尚未登录");
$("#popup-box1").show();
}
if (bool == "1"){
// alert("你已登录");
// $("#popup-box1").hide();
$("span .count").text(nums);
}
}
});
});
});
部分html:
<div class="post-footer">
<div class="flag">
<span class="flag-wrapper">
<a class="flag-action" href="#">
<i class="fa fa-heart-o" ></i>
<?php
echo "<span class='count'>". $nums ."</span>";
?>
<!-- <span class="count">0</span> -->
<span class="flag-text" >Like this news post</span>
</span>
</div>
</div>
解决方案
$("this")不该有引号,应该是$(this)
这篇关于jquery - html有多个类名相同的div,如何给每个div绑定click事件并区分?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文