如何将javascript附加到字体图标

如何将javascript附加到字体图标,javascript,css,button,font-awesome,Javascript,Css,Button,Font Awesome,我的HTML中有一个按钮图标,我想使用javascript并以AJAX风格触发它 <a href="#"><i id="heart" class="jam jam-heart-f"></i> Like</a> 下面是javascript触发它的尝试——但我没有发现任何错误。我尝试将类似的尝试发布到PHP页面like.PHP,以将链接添加到数据库 $(document).ready(function() { $('body').on("cli

我的HTML中有一个按钮图标,我想使用javascript并以AJAX风格触发它

<a href="#"><i id="heart" class="jam jam-heart-f"></i> Like</a>

下面是javascript触发它的尝试——但我没有发现任何错误。我尝试将类似的尝试发布到PHP页面like.PHP,以将链接添加到数据库

$(document).ready(function()
{

$('body').on("click",'#heart',function()
{
    var videoId = "<?php echo $video_id; ?>";


    var A=$(this).attr("id");
    var B=A.split("like");
    var messageID=B[1];
    var C=parseInt($("#likeCount"+messageID).html());


       $.ajax({
    method: 'POST',
    url: 'like.php',
    data: {videoId: videoId},
    cache: false,
        success: function(result){
            likeInfo = JSON.parse(result);
                    $("#likeCount1").html("Likes:" + likeInfo.likeCount);

            //document.getElementById("likeCount1").value = likeInfo.likeCount;
            //$("#likeCount1").html(likeCount);
        }

        }); 



    }


});
$(文档).ready(函数()
{
$('body')。在('click','heart',function()上
{
var videoId=“”;
var A=$(this.attr(“id”);
var B=A.分割(“类似”);
var messageID=B[1];
var C=parseInt($(“#likeCount”+messageID.html());
$.ajax({
方法:“POST”,
url:'like.php',
数据:{videoId:videoId},
cache:false,
成功:功能(结果){
likeInfo=JSON.parse(结果);
$(“#likeCount1”).html(“Likes:+likeInfo.likeCount”);
//document.getElementById(“likeCount1”).value=likeInfo.likeCount;
//$(“#likeCount1”).html(likeCount);
}
}); 
}
});

我认为,在JS中,id=“heart”和字体可怕图标似乎不会触发“heart”。我知道如何将其组合在一起吗?

您的代码正确触发post请求,但您没有正确关闭函数和作用域

我在这里试过:

以及让stackoverflow开心的代码:

$(document).ready(function() {

      $('body').on("click", '#heart', function() {
          var videoId = "<?php echo $video_id; ?>";


          var A = $(this).attr("id");
          var B = A.split("like");
          var messageID = B[1];
          var C = parseInt($("#likeCount" + messageID).html());


          $.ajax({
            method: 'POST',
            url: 'like.php',
            data: {
              videoId: videoId
            },
            cache: false,
            success: function(result) {
              likeInfo = JSON.parse(result);
              $("#likeCount1").html("Likes:" + likeInfo.likeCount);

              //document.getElementById("likeCount1").value = likeInfo.likeCount;
              //$("#likeCount1").html(likeCount);
            }
          });
      });
});
$(文档).ready(函数(){
$('body')。在('click','heart',function()上{
var videoId=“”;
var A=$(this.attr(“id”);
var B=A.分割(“类似”);
var messageID=B[1];
var C=parseInt($(“#likeCount”+messageID.html());
$.ajax({
方法:“POST”,
url:'like.php',
数据:{
videoId:videoId
},
cache:false,
成功:功能(结果){
likeInfo=JSON.parse(结果);
$(“#likeCount1”).html(“Likes:+likeInfo.likeCount”);
//document.getElementById(“likeCount1”).value=likeInfo.likeCount;
//$(“#likeCount1”).html(likeCount);
}
});
});
});
此外,javascript控制台在您的代码的参数列表后显示
未捕获的语法错误:missing)。当你点击心脏时,你会打开“网络”选项卡,查看发出的请求,并检查它们是否发送了正确的数据(以及响应!)


任何像样的js编辑器在运行代码之前都会显示此错误。尝试免费、轻量级,总体来说相当不错。

您忘记为$('body')添加右括号和分号。在。。。声明

试试这个:

$(document).ready(function()
{

    $('body').on("click",'#heart',function()
    {
        var videoId = "<?php echo $video_id; ?>";


        var A=$(this).attr("id");
        var B=A.split("like");
        var messageID=B[1];
        var C=parseInt($("#likeCount"+messageID).html());


           $.ajax({
        method: 'POST',
        url: 'like.php',
        data: {videoId: videoId},
        cache: false,
            success: function(result){
                likeInfo = JSON.parse(result);
                        $("#likeCount1").html("Likes:" + likeInfo.likeCount);

            //document.getElementById("likeCount1").value = likeInfo.likeCount;
            //$("#likeCount1").html(likeCount);
            }
        }); 
    });
});
$(文档).ready(函数()
{
$('body')。在('click','heart',function()上
{
var videoId=“”;
var A=$(this.attr(“id”);
var B=A.分割(“类似”);
var messageID=B[1];
var C=parseInt($(“#likeCount”+messageID.html());
$.ajax({
方法:“POST”,
url:'like.php',
数据:{videoId:videoId},
cache:false,
成功:功能(结果){
likeInfo=JSON.parse(结果);
$(“#likeCount1”).html(“Likes:+likeInfo.likeCount”);
//document.getElementById(“likeCount1”).value=likeInfo.likeCount;
//$(“#likeCount1”).html(likeCount);
}
}); 
});
});

为什么不只绑定
a
元素上的事件处理程序呢?您可以像绑定
$('#heart').parent('a')。on('click',function(){console.log('clicked'))一样绑定父
a