0

也许不是这个问题的好标题,但我的问题正是这个。我在页面上有几个 DIV 标签,它们都以 #result 开头并继续 number<div id="result22"><div id="result33">。现在我找到了一些不错的 jQuery 事情要做,它按预期工作,但唯一的问题是如何将已知数字添加到这#result 是代码:

<script type="text/javascript">
   $(document).ready(function() {
     $('.like').bind('click', function () {
       $.get("/sng_like/"+this.id+"/", function(data) {
         $('#result')[0].innerHTML=data;
     });
   });
 });
</script>

例如,我希望该值成为获取this.id的一部分。我的 JS 知识有限,我已经尝试过了,但它不会起作用。#result#result22$('#result'+this.id)[0].innerHTML=data;

谢谢,G

4

3 回答 3

2
$(document).ready(function() {
     $('.like').bind('click', function () {
       var item=$(this);
       $.get("/sng_like/"+item.attr("id")+"/", function(data) {
         $('#result'+item.attr("id")).html(data);
     });
   });
});

从 jQuery 1.7 开始,.on()方法是将事件处理程序附加到文档的首选方法。所以你可以考虑使用它。

如果您使用的是 1.7+ 版本,则可以重写您的代码以在这样的函数上使用

$(function(){
   $(document).on("click",".like",function(){
       var item=$(this);           
       $.get("/sng_like/"+item.attr("id")+"/", function(data) {
          $('#result'+item.attr("id")).html(data);
       });
   });
});

$(function()是一个简短的形式$(document).ready(function()

于 2012-07-22T13:18:23.847 回答
2

你可以说:

$.get("/sng_like/"+$(this).attr("id")+"/", function(data)
于 2012-07-22T13:21:03.197 回答
1
<script type="text/javascript">
   $(function() {
       $('.like').on('click', function() {
           var MyId=this.id;
           $.get("/sng_like/"+MyId+"/", function(data) {
               $('#result'+MyId).html(data);
           });
       });
   });
</script>
于 2012-07-22T13:29:53.367 回答