Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在php生成的内容上动态插入HTML_Javascript_Php_Jquery - Fatal编程技术网

Javascript 如何在php生成的内容上动态插入HTML

Javascript 如何在php生成的内容上动态插入HTML,javascript,php,jquery,Javascript,Php,Jquery,我有一个php文件,它可以从服务器动态加载图像,一次加载20个图像,就像用户向下滚动时Facebook的墙贴动态加载到页面一样 我想做的是在第9项之前压缩自定义内容,从第4项开始 我尝试使用jQuery的insertBefore()方法操作DOM,即 var length = $('#container .item').length(); var i = 11; while (i < length) { var el = $('#container .item').eq(i);

我有一个php文件,它可以从服务器动态加载图像,一次加载20个图像,就像用户向下滚动时Facebook的墙贴动态加载到页面一样

我想做的是在第9项之前压缩自定义内容,从第4项开始

我尝试使用jQuery的insertBefore()方法操作DOM,即

var length = $('#container .item').length();
var i = 11;

while (i < length) {
    var el = $('#container .item').eq(i);
    $('<div>custom content</div>').insertBefore(el);
    i += 9;
}
var length=$('#container.item').length();
var i=11;
while(i
这在最初加载的内容上效果很好,但在从服务器动态加载的内容上效果不佳

我想问: 1) 有没有办法在动态加载的内容上操作DOM?(可能使用.bind?)
2) 如果没有,我应该采取什么方法?

这样做肯定是可能的,但您需要仔细考虑这一切是如何结合在一起的

据我所知,您有一个php页面,为用户提供“初始”内容(就像您第一次打开facebook时)。加载页面后,通过javascript/jQuery代码添加自定义内容(这里我假设您的自定义内容不是来自php代码)

在某些用户交互(或其他)中,您希望加载新的动态内容(例如在facebook上向下滚动)。发送ajax请求,进行回调,并将此自定义内容附加到(或替换)页面上的其他内容。此时,您需要在最初将自定义内容添加到页面的客户端上重新运行代码

请注意,如果此自定义内容也是由服务器交付的,则需要在同一回调或新回调中提供与其他动态加载的内容一起提供的自定义内容

因此,总结一下:

  • 从PHP文件(服务器端)加载初始页面
  • JS/jQuery代码添加自定义内容(客户端)
  • 事件(如用户交互)如果发生更多动态内容,则发送ajax请求(客户端)
  • PHP检索并返回更多动态内容(服务器端)
  • Ajax请求成功并具有此新内容,它将被附加到页面(客户端)
  • 需要通过JS/jQuery(客户端)添加更多自定义内容

  • 这大致就是动态内容网页背后的“流程”,为了给您提供具体的解决方案,我们需要更多地了解您的代码。

    您可以向我们展示整个调用函数吗?当您执行此操作时?onDomready或window load?使用适当的DOM解析器,如DOMDocument(),并在服务器端执行所有操作。