如何在jQuery .load()函数上使用.append

时间:2012-10-21 00:50:52

标签: javascript jquery

我正在尝试附加被调用的数据而不是替换它,但我不确定为什么.append不起作用。

      $('.incoming3').load('t3.html #test3').append;

3 个答案:

答案 0 :(得分:2)

首先,.append()是一个函数 - 你需要在它之后使用括号,并为它提供一个参数,告诉它要追加什么。其次,您不能通过将.append()链接到其末尾来更改.load()的工作方式。

请改为尝试:

$.get("t3.html", function(data) {
    $('.incoming3').append($(data).filter("#test3"));
});

也就是说,使用$.get() method检索数据,将数据包装在jQuery对象中,并使用.filter() method提取所需的位,并将该位附加到元素中。

答案 1 :(得分:1)

$('.incoming3').append($('<div>').load('t3.html #test3'));

$.get('t3.html', function(data) {
    $('.incoming3').append($(data).find('#test3'));
});

答案 2 :(得分:1)

load()方法设计取代了选择器的html。您需要创建自己的过滤AJX方法。

$.get( 't3.html', function(response){
   var contentDesired=$(response).find( '#test3')/* or filter instead of find if no body tag wrapping html*/
   $('.incoming3').append( contentDesired)

})

这几乎与我在同一问题的上一个问题中给出的相同情况的一个解决方案相同