【问题标题】:Null is not an object (evaluating 'e.length')Null 不是对象(评估“e.length”)
【发布时间】:2016-06-08 19:43:30
【问题描述】:

所以我在我的 wordpress 网站上收到此错误,但无法确定是什么原因造成的。我附上了错误扩展时显示的屏幕截图,尽管我的直觉是它与 jQuery 的加载方式有关。

如果有人可以给我任何指示或要检查的东西-那就太好了。

script.js:17 中的代码

jQuery(document).ready(function($) {
    // set the container that Masonry will be inside of in a var
    var container = document.querySelector('#masonry');

    // create empty var msnry
    var msnry;

    // initialize Masonry after all images have loaded
    imagesLoaded( container, function() {
        msnry = new Masonry( container, {
            itemSelector: '.masonry-item'
        });
    });
});

【问题讨论】:

  • 告诉我scripts.js在第17行的样子
  • @Quantastical 它是砌体文件的一部分。添加到问题的代码
  • container 变量是什么?
  • 你能确认页面上有id="masonry"的元素吗?您是否尝试过使用 jQuery 的选择器 $('#masonry'); 而不是使用普通的 JavaScript?
  • 如果没有 ID 为 masonry 的元素,那么,是的,这很可能是问题所在。由于 querySelector 没有找到任何东西,它返回 nullnull 没有 length 属性,将触发此错误消息。

标签: jquery wordpress typeerror


【解决方案1】:

错误发生在scripts.js的第17行。

导致Masonry 插件尝试读取null 对象上的length 属性的行有问题。

document.querySelector() 将在找不到匹配项时返回 null,所以问题是它正在寻找一个不存在的 id 为“masonry”的元素。

您应该弄清楚为什么没有 id 为“masonry”的元素并纠正这种行为。或许可以查看您正在使用的主题样本并进行比较,看看#masonry 需要放在哪里。

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多