2009-11-20 90 views
0

我使用Ajax獲取動態內容,並將其放入div中,但問題是我對某些子div(來自動態內容)具有不同的ID。所以我爲這些div添加了選擇器,但正如我所說的那樣,它們是動態加載的,這意味着它們在加載(從另一個文件)並插入div之前在任何地方都是不可見的。當我插入動態內容時,問題就出現了。 jQuery的不能選擇這些div :(有沒有我的任何問題可能的解決方案jQuery無法捕獲div

嗯,也許我的解釋是不是很好,所以我將代碼說話:d

舉例: 這是空div <div id="div"></div>

這裏是jQuery代碼

$(document).ready(function(){ 
$.get("file.php", function(data){ 
$("#div").html(data); 


$("#somediiv").click(function(){ 
alert("Yeah"); 
}); 

$("#somediv").click(function(){ 
$.get("otherfile.php", function(data){ 
$("#div").html(data); 
}); 
}); 

$("#somediv2").click(function(){ 
$.get("file.php", function(data){ 
$("#div").html(data); 
}); 
}); 

}); 
});

一切工作,直到新的內容來。在當「file.php」被加載新的內容有id爲一個div「索姆ediiv「,當我點擊它」otherfile.php「將被加載,並在這個div的內容有另一個ID與」somediiv「的div,但當jQuery無法趕上點擊:(

回答

1

我認爲你必須使用live()。或者在$.get()的回調中附加活動。

0

你想每個動態加載的div還包含原始div的點擊功能? powtac是正確的,現場活動將幫助你。是這樣的:是不是真的指定

$(".someDivClass").live("click",function(){ 
    $.get("yourFile",function(data){ 
    $(this).append(data); 
    }); 
}); 

這是假設要追加的數據您點擊DIV,即。你也必須確保返回的數據包含類「someDivClass」的div。

現場活動註冊任何匹配的選擇以及未來所有比賽(說是動態添加)

+0

頁面加載和「file.php」的內容被插入到「格」,現在它包含2周的div id爲「 somediiv「和」somediv「現在一切都很完美,但是當我點擊」somediv「並加載新內容時,出現了」somediv「和」somediv2「,jquery不能捕獲它們:( – Matt 2009-11-20 20:07:39