我正在使用wordpress(4.1)和jQuery 1.11 - 我想在第I页中加载其他页面内容 - 现在使用ajax。我可以追加整个html(宽头,元和所有东西),我可以过滤图像或跨度,但是当我试图过滤部分或#content时,会有空响应。控制台中没有错误。
jQuery的:
$('nav a').click(function(load) {
load.preventDefault();
jQuery.ajax({
type: "GET",
url: jQuery(this).attr('href'),
dataType: "html",
success: function(out) {
result = jQuery(out).find('section');
jQuery('#change').append(result);
}
});
});
HTML看起来像这样:
<section id="content">
....
</section>
我想我尝试了一切。随着&#34; img&#34;而不是部分有内容(部分内容来自#内容部分,所以它很奇怪)。
任何人都知道什么是错的?我在同一个版本的另一个wordpress中使用了相同的代码,所有这些都像魅力一样。我没有更多的jQuery库加载。
答案 0 :(得分:1)
如果您的完整HTML回复是:
<section id="content">
....
</section>
那么问题是$.find
只会找到元素的后代,而它本身也找不到顶级元素。举个例子:
$('<p><a>hi</a></p>').find('p') // => []
$('<p><a>hi</a></p>').find('a') // => [{a element}]
快速解决方法是:
$('<div></div>').append($('<p><a>hi</a></p>')).find('p') // => [{p element}]