0

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

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

3 回答 3

2

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

试试这个:

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

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

于 2012-10-21T00:55:20.733 回答
1
$('.incoming3').append($('<div>').load('t3.html #test3'));

或者

$.get('t3.html', function(data) {
    $('.incoming3').append($(data).find('#test3'));
});
于 2012-10-21T00:55:32.910 回答
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)

})

这与我在上一个问题中针对相同问题在相同情况下为您提供的一个解决方案几乎相同

于 2012-10-21T00:57:38.840 回答