我正在尝试使用 AJAX 制作分页脚本,但它拒绝获取正确的 ID。我的代码在这里
$(document).on('click','#pagination a',function(e){
e.preventDefault();
var link = $(this).attr('href');
var $content = '.everything';
$.post(link+'', function(data){
var $new_content = $($content,data);
console.log($new_content);
},'html');
});
这将在我的控制台中返回以下内容:
Object { length: 0, prevObject: Object, context: undefined, selector: ".everything" }
对象.everything
绝对存在于我的DOM中,因为如果我只是console.log(data);
,该项目就会出现。该元素包含大约 2000 个字符。
当我尝试通过执行 console.log($('.logo',data)); 获取内容较少的元素时,不会发生此问题
最佳答案
当您在 HTML 代码段中查找元素时,它将查找最外层元素的内部。
例如$('span', '<div><span></span></div>')
返回一个包含 span
的 jQuery 对象元素,但是$('div', '<div><span></span></div>')
返回一个空的 jQuery 对象。
如果您想在搜索中包含最外面的元素,请将其包装在另一个元素中:
var elements = $('<div>').append(data);
var $new_content = elements.find($content);
console.log($new_content);
关于javascript - jQuery $.post 返回对象长度 : 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31885629/