Jquery DIV中的多个加载

men*_*mam 9 html jquery load

这是我的代码

$('#right').load('textes.html #nicolas');
$('#right').load('textes.html #antoine');
Run Code Online (Sandbox Code Playgroud)

问题是div antoine的内容在div nicolas的内容加载中重写

div #right:从文件textes.html = ok div加载div nicolas #right:从文件textes.html加载div antoine =覆盖内容=不!

我喜欢将antoine添加到nicolas我喜欢添加nicolas然后添加antone所以#right将是nicolas + antoine

我试着把内容变成var ... nope

任何的想法 ?


最重要的是...我想在<hr>每次加载之间添加规则


也许这样的事情可以做到......它不起作用!

$('#right').load('textes.shtml #nicolas').append('<hr>').load('textes.shtml #antoine'); return false;
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ris 20

也许我错过了一些东西,但似乎你们都错过了这是一个ajax调用的事实,你在程序上调用函数而不是基于成功的ajax响应的回调函数.

此外,如果你正在做一些比将一些(X)HTML加载到元素更复杂的事情,你应该使用一个更强大的jQuery ajax方法(即get()或post()或ajax()).

假设你在响应中得到(X)HTML:

// Only ONE ajax call and very simply parsing... 
$.get('textes.html', {}, function(data) {
    var $response = $('<div />').html(data);
    var $nicolas = $response.find('#nicolas')
    var $antoine = $response.find('#antoine');
    $('#right').append($nicolas).append($antoine);
},'html');
Run Code Online (Sandbox Code Playgroud)

它真的很简单.


Pim*_*ger 8

为什么不在一次通话中加载它们:

$('#right').load('textes.html #nicolas,#antoine');
Run Code Online (Sandbox Code Playgroud)

编辑
受司法方式的启发我想到了以下内容:

var $page = $('<div />').load('textes.html #nicolas,#antoine');
var $nicolas = $page.find('#nicolas');
var $antoine = $page.find('#antoine');
$('#right')
 .html($nicolas)
 .append('<hr/>')
 .append($antoine);
Run Code Online (Sandbox Code Playgroud)

这将只使一个(或两个,取决于firefox的感觉)调用服务器.从而节省带宽.但它也为您提供了更多的自由,如何插入元素和顺序.