加载ajax加载div的innerHtml

时间:2012-03-08 21:35:25

标签: javascript jquery html ajax

我有一个div,它的内容通过ajax .load加载(" ajaxcontent.php")。

在这个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();
        }
    });

4 个答案:

答案 0 :(得分:4)

在加载功能完成执行后,您是否正在访问内容?

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

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

});

编辑:在op发布他的代码之后

将委托绑定包装在document.ready中,就像这样

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您需要确保在$('#topdiv')附加到DOM后调用topdivload根据http://api.jquery.com/load/

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

答案 3 :(得分: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)

查看jQuery load

的api