我有一个像这样的PHP页面:
这是原理图: http://img233.imageshack.us/img233/4895/13423274.jpg
在DIV 1和DIV 2中,我对内容进行了Ajax调用。 Ajax调用是从主页面进行的。
如果我想打电话从DIV 1改变DIV 2它不起作用= /
我试过:
document.getElementById('div2').innerHTML = data;
任何人都可以帮助我吗?三江源!
答案 0 :(得分:0)
id无法以数字开头,因此可能会导致问题。
除此之外,它取决于您的javascript所在位置以及将其附加到事件处理程序的方式和时间。
如果javascript包含在DIV 1中加载的代码中,则应该没有问题,但是如果它已经在页面上,则需要将其附加到新加载的DIV 1中载满了。
例如,请参阅jQuery .live()
function documentation以详细解释我的意思。
答案 1 :(得分:0)
那么在DIV1的内容中,您有一些链接,比如想要将内容加载到DIV2中?你需要做的是将事件监听器添加到DIV1中的链接,这样当它们被点击时,它们将创建将内容加载到DIV2的AJAX调用。
我建议使用jQuery(http://jquery.com/),你可以这样做:
// getting the content into DIV1
$( '#div1' ).load( '/path/to/backend.php', function()
{
// the ajax request is complete, so let's add listeners to the a tags in DIV1
$( '#div1 a' ).click( function()
{
// this clears DIV2's content
$( '#div2' ).empty();
// and now we load some ajax by getting the href of the a tag and passing that to our backend
$( '#div2' ).load( '/path/to/backend.php', { page: $( this ).attr( 'href' ) };
});
});
您可以在此处阅读更多内容:http://api.jquery.com/load/