我的JS脚本发给我的那个bug:
未捕获的TypeError:无法读取属性' style'为null at myFunction((index):1368) at HTMLDivElement.onclick((index):1354)myFunction @(index):1368 onclick @(index):1354
这是我的代码:
function myFunction() {
var y = document.getElementById("woocommerce_product_categories-1");
var x = document.getElementById("shop-sidebar");
console.log("x.style.display1");
x.style.display = 'none';
console.log("x.style.display");
if (x.style.display == "none") {
y.style.display = "none";
x.style.position = "fixed";
x.style.display = "block";
x.style.zIndex = 9;
x.style.top = "126px";
x.style.width = "100%";
x.style.background = "#fff";
x.style.height = "calc(100vh - 126px)";
x.style.overflowY = "scroll";
} else {
x.style.display = "none";
x.style.zIndex = 0;
}
var x = document.getElementById("menu-mobile-header");
if (x.style.position === "absolute") {
x.style.position = "fixed";
} else {
x.style.position = "absolute";
}
var x = document.getElementById("menu-mobile-header");
if (x.style.top === "195px") {
x.style.top = "60px";
} else {
x.style.top = "195px";
}
var x = document.getElementById("menu-mobile-header");
if (x.style.zIndex === "0") {
x.style.zIndex = "9";
} else {
x.style.zIndex = "0";
}
}

<?php if(is_product_category())
{ ?>
<div id="menu-mobile-header">
<div class="menu-mobile-header" onclick="myFunction()">Filtern</div>
</div>
<?php } ?>
&#13;
Console.log使用x.style.display1向我发送消息,但在第二条消息中我有错误。
另外我注意到代码工作但没有php。
也许有人知道为什么我不能在JS中使用任何风格?
祝你有愉快的一天!
答案 0 :(得分:1)
这是因为x
是null
。
您使用x
创建document.getElementById
(第8行),但您没有具有id="shop-sidebar"
属性的DOM元素。