2010-07-29 81 views
0

我是jquery的新手,想知道是否有人可以幫助我,我相信這是一個簡單的解決方案。爲什麼我不能得到一個元素的ID - jquery

我試圖讓當點擊一個鏈接的ID,然後提醒標識出這樣的:

缺少什麼我在這裏?導致螢火蟲給我一個'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; 
    }); 

}); 

感謝有這方面的幫助。

回答

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; 
    });  
}); 
+0

嘿Slaks,錯字在第一行:你的意思是'id'財產。 – 2010-07-29 04:40:23

相關問題