如何使用jQuery的.load()函数返回一个元素的innerHTML

如何使用jQuery的.load()函数返回一个元素的innerHTML

问题描述:

JQuery的如何使用jQuery的.load()函数返回一个元素的innerHTML

假设这个作品:$('table td').load('/my/url/ div p');

我最终会与<td><p>Some Text</p></td>

我想结束与<td>Some Text</td>

我该怎么做?

您可能需要使用回调函数。喜欢的东西:

$('table td').load('/my/url/ div p', function() { 
    $(this).find("p").replaceWith($(this).text()); 
}); 
+0

这wont't工作由于AJAX的异步特性。在执行第二行时,DOM可能尚未更新。 – 2010-04-07 22:16:37

+0

@Darin Dimitrov:我意识到发布后很快就会改用它来代替回调。它已经很晚了,我的大脑被炸了;-) – 2010-04-08 10:12:31

var el = $('table td').load('/my/url/ div p', function() { 
    var $this = $(this); 
    $this.html($this.find('p').html()); 
}); 

选择P的所有直接子:

$('table td').load('/my/url/ div p > *'); 
+0

尝试过'div p *',这是一场灾难。你的解决方案从我+1工作。 – 2013-05-15 22:59:49