如何将javascript附加到字体图标
我的HTML中有一个按钮图标,我想使用javascript并以AJAX风格触发它如何将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
<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