我在使用 WordPress 主题时遇到了问题,这似乎很容易解决,但我不知道从哪里开始哈哈。
我的控制台中出现以下错误:
Uncaught TypeError: Cannot read properties of undefined (reading 'left') at X (main.min.js?ver=6.3.2:1:50679) at main.min.js?ver=6.3.2:1:58007 at dispatch (jquery.min.js?ver=3.7.0:2:39997) at v.handle (jquery.min.js?ver=3.7.0:2:37968)
这是有问题的行/代码:
function X() {
var t = e("#content").outerWidth()
, a = (e("#content").offset().left,
t / 2 - e("#content .page-container").width() / 2)
, i = function(e, t, i, s) {
var o = e.find("> .wpb_column > .vc_column-inner");
t && (o = e.find("> .split-box-container")),
i && (o = e.find("> .parallax-content")),
o = s ? o.last() : o.eq(0),
Clb.isMobile || o.css("padding-" + (s ? "right" : "left"), a + "px")
}
, s = function(e, a, i) {
var s = e.find(a ? "> .split-box-container" : "> .wpb_column > .vc_column-inner > .wpb_wrapper");
(s = i ? s.last() : s.eq(0)).css({
position: "",
left: "",
width: ""
}),
s.length && (i ? s.css("width", t - s.offset().left + "px") : s.css({
position: "relative",
left: -s.offset().left + "px",
width: s.offset().left + s.outerWidth() + "px"
}),
Clb.isMobile && s.css({
width: "",
left: ""
}))
};
e(".clb-column-padding-left").each(function() {
i(e(this), e(this).hasClass("split-box"), e(this).hasClass("parallax"), !1)
}),
e(".clb-column-padding-right").each(function() {
i(e(this), e(this).hasClass("split-box"), e(this).hasClass("parallax"), !0)
}),
e(".clb-stretch-column-left").each(function() {
s(e(this), e(this).hasClass("split-box"), !1)
}),
e(".clb-stretch-column-right").each(function() {
s(e(this), e(this).hasClass("split-box"), !0)
})
}
知道如何修复它吗?这破坏了我的整个结账:/
我尝试更新我的主题并关闭所有插件,但没有任何帮助,错误仍然存在。
错误是因为
e("#content").offset()
返回 null。
一种解决方案是通过检查
e("#content").offset()
是否存在来求解函数,然后才尝试使用 .left。
e("#content")?.offset()
应该可以解决这个问题,但它可能会产生更多错误,因为您需要检查 a = (e("#content").offset()?.left
中的变量“a”是否也不为空。
由于这是一个 WordPress 错误,最好的解决方案是通过将
id="content"
添加到 div 来使“#content”可见,或者找出为什么 #content 不在页面中。