2014-01-25 96 views
0

這是隱藏數據着隱藏的數據添加

$(".dispatch_pedido").live('click', function(){ 

    var res = this.id.split("_"); 

    var id = res[1]; 

    $("#"+id).hide(); 
}); 

這個代碼只能對最初加入而不是由AJAX將數據添加到數據的功能。

+0

您應該使用更新版本的jQuery。有一個如此舊的版本的圖書館,發展適應新版本的瀏覽器是沒有意義的。 –

+0

是一個4年前編寫的WEB應用程序,如果我更新了jQuery,LIVE函數將停止在網站的其他部分工作... @dystroy – bmacuer

+0

'live'已棄用,因爲1.7版使用'on'代替。 – loki

回答

0

當你使用AJAX來新元素添加到DOM,你需要使用event delegation因此事件可以綁定到新添加的元素:

$(document).on('click', '.dispatch_pedido' , function(){ 

}); 

此外,live已廢棄的jQuery版本1.7,您應該改用​​。


您可以在舊版本的jQuery的使用delegate()代替on()

$(document).delegate(".dispatch_pedido", "click", function() { 
    // Your code here 
}); 
+1

這並不能解釋爲什麼OP的代碼不起作用。 –

+0

不能更新jquery在這個web應用程序上構建的所有東西都是用live(4年前的應用程序)構建的,我知道使用所需選擇器的一種方式,但我忘了它。 – bmacuer

+0

@bmacuer你可以使用'delegate()'。檢查我的更新 – Felix

0

看來你的語法是不正確的。檢出以下代碼。

$(".dispatch_pedido").live('click', function(){ 

    var res = $(this).attr("id").split("_"); 

    var id = res[1]; 

    $("#"+id).hide(); 
});