jquery - html有多个类名相同的div,如何给每个div绑定click事件并区分?

查看:509
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆