为什么我不能获得元素的id - Jquery

时间:2010-07-29 04:23:54

标签: jquery

我是jquery的新手,想知道是否有人可以帮助我,我认为这是一个简单的解决方案。

我在点击时尝试获取链接的ID,然后像这样提醒id:

我在这里缺少什么?因为firebug给我一个'id is not defined'错误。

$(document).ready(function(){

    $("a.category").click(function(){
      $.post("index.php", { id: "$(this).attr('id')"},
         function(data){
        alert("Data Loaded: " + id);
      });
     //return false to insure the page doesn't refresh
     return false;
    });

});

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:2)

通过编写{ id: "$(this).attr('id')" },您创建的对象的id属性设置为文字字符串"$(this).attr('id')"

要发布所点击元素的实际ID,您需要删除引号并将id属性设置为表达式的值,如下所示:{ id: $(this).attr('id') }

此外,表达式{ id: $(this).attr('id') }创建一个具有id属性的对象 它不会创建任何id变量,因此您无法在回调中使用id非变量。

要解决此问题,您需要创建一个变量,如下所示:

$(document).ready(function() {    
    $("a.category").click(function(){
        var id = $(this).attr('id');

        $.post("index.php", { id: id },
            function(data){
              alert("Data Loaded: " + id);
            }
        );
       //return false to insure the page doesn't refresh
       return false;
    });    
});