结合div ID和this.ID

时间:2012-07-22 13:16:32

标签: javascript jquery

对于这个问题,也许不是一个好标题,但我的问题正是如此。 我在页面上有几个DIV标签,所有这些标签都以#result开头并继续编号<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的值可以作为#result的一部分来获取#result22。 我的JS知识是有限的,我已经尝试$('#result'+this.id)[0].innerHTML=data;但它不会工作。

谢谢, ģ

3 个答案:

答案 0 :(得分: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()

的缩写形式

答案 1 :(得分:2)

你可以说:

$.get("/sng_like/"+$(this).attr("id")+"/", function(data)

答案 2 :(得分: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>