jquery load()并追加

时间:2012-01-10 17:59:17

标签: jquery

愚蠢的快速问题:

我有我的:

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

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

5 个答案:

答案 0 :(得分:32)

你的意思是这样的吗?

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

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

答案 1 :(得分:24)

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

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

编辑:正如评论所说,使用&#34; async:false&#34;不常见,很难看。通常,您会操纵响应并将其插入成功回调内的DOM中。如果你真的需要在变量中等待另一个东西使用该变量的响应,那么仅需要使用异步,而不是常见的事情。

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

答案 2 :(得分:19)

快速的方法可能是:

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

答案 3 :(得分:6)

执行jQuery帖子并将数据加载到变量并添加到所需的div

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

答案 4 :(得分:3)

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

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