jquery load()和追加

愚蠢的快速问题:

我有我的:

$('#result').load('ajax/test.html'); 

但是,如果我不想将我加载的内容插入到#result中,但是将其添加到#result,维护所有先前元素,该怎么办? 是否可以创建变量,使用内容加载它,然后将其附加或添加到我的#result中? 我想象一些其他场景,在我将全新的变量插入到DOM之前我可以操作它。

 var response; $.ajax({ type: "GET", url: "ajax/test.html", async: false, success : function(text) { response= text; } }); $('#result').prepend('
'+response+'
');

你需要“async:false”,所以你等待响应。 如果你不等它(正常的Ajax异步调用),你将在未知的时间内有一个未定义的变量,所以它可能是危险的。

编辑:正如评论正确地说,使用“async:false”是不常见的,并且是丑陋的。 通常,您会操纵响应并将其插入成功回调中的DOM中。 如果你真的需要在变量中的响应等待另一件事来使用该变量,那么仅需要使用异步,而不是常见的事情。

 $.ajax({ type: "GET", url: "ajax/test.html", success : function(text) { $('#result').prepend('
'+text+'
'); } });

你的意思是这样的?

 var content; $.get('ajax/test.html', function(data){ content= data; $('#result').prepend(content); }); 

这会将您加载的内容首先保存到变量中,然后您可以根据需要对其进行操作。

一个快速的方法可能是:

 $('#result').append($('
').load('ajax/test.html'));

做一个jQuerypost并将数据加载到vaiable并添加到所需的div

 $.post('ajax/test.html', function(data) { $('#result').prepend(data); }); 

我认为这是一个较短的解决方案

 $.get("ajax/test.html",function (dados) { $("#result").append(dados);});