我有一个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();
}
});
答案 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后调用topdiv
。 load
根据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)
的api