2012-03-08 73 views
3

我有一個div,它的內容通過ajax .load(「ajaxcontent.php」)加載。加載ajax加載innerHtml的div

在這個div裏面,我們製作了很多其他的div。我想要獲得其中一個div的內容。我試過var insidecontent = $('#topdiv')。html();但它返回null。

有沒有辦法獲得這樣的價值?

的index.html

<div id="news"></div> 

ajaxcontent.php

<div id="topdiv">Hello World</div> 
<div id="middiv">This is the mid div</div> 
<div id="botdiv">This is the bottom</div> 

的javascript:

$("#news").load("ajaxcontent.php"); 

$(document).delegate("#total", "keyup", function (e) { 
     if(e.which!=13){ 
      var insidecontent=$('#topdiv').html(); 
     } 
    }); 
+0

那麼您可以通過Ajax的負載返回的HTML?以及容器div的HTML? – 2012-03-08 21:36:54

+0

請顯示您的一些標記。 – jrummell 2012-03-08 21:36:58

+0

請問我們能看到一些代碼嗎? – zgood 2012-03-08 21:37:17

回答

4

負載的功能執行完畢後,你訪問的內容?

$("#firstDiv").load("serverpage.aspx",function(){ 

     // Now access the content 
     var insideContent=$("#topDiv").html(); 

}); 

編輯:運張貼了他的代碼後

包裹裏面代表結合的document.ready這樣

$(function(){ 
    $(document).delegate("#total", "keyup", function (e) { 
     if(e.which!=13){ 
      var insidecontent=$('#topdiv').html(); 
     } 
    }); 
}); 
+0

這個div裏的文本框的onkeyup,javascript會觸發內部的內容。你可以看看我原來的帖子,我添加了一些代碼。 – 2012-03-08 21:57:11

+0

將其包裝在準備好的文檔中 – Shyju 2012-03-08 21:58:12

0
$('#DivForContent').load('ajaxcontent.php #topdiv'); 
0

你只需要確保您致電$('#topdiv')topdiv是附加到DOM。 load採取回調按照http://api.jquery.com/load/

$('#someDiv').load('ajaxcontent.php', function() { 
    var insidecontent=$('#innerDiv').html(); 
    //Do something with it. 
}); 
0

既然你正好表明.load("ajaxcontent.php")我假設你正在嘗試做這個

jQuery("#foo").load("ajaxcontent.php") 
var insidecontent=$('#topdiv').html() 

你需要使用一個回調,因爲負載是異步的。

function finishProcessing() { 
    var insidecontent=$('#topdiv').html(); 
    alert(insidecontent); 
} 

jQuery("#foo").load("ajaxcontent.php", finishProcessing) 

退房的API jQuery load