javascript - jQuery $.post 返回对象长度 : 0

标签 javascript jquery ajax

我正在尝试使用 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/

相关文章:

javascript - ASP.NET MVC 2 - 何时使用模板与何时使用局部 View

jquery - HTML 表单单选按钮可通过 jquery 提交或隐藏

javascript - jQuery Accordion 展开第一个启用的面板

javascript - 使用 localStorage 让我的保存按钮工作

ajax - 使用 Ajax 的动态 Flot 图表

javascript - 如何在 iPad 屏幕锁定时运行 JavaScript 事件?

javascript - Rails 语句中的“Escape” javascript 函数

javascript - CSS 抑制元素

javascript - 将发送按钮链接到 ajax 请求

javascript - ajax调用后数据丢失