运行代码时出现错误,但是确实删除了预期的元素。
我曾尝试使用querySelectorAll,但这给了我“ slet.style未定义”
if (document.URL.indexOf("/catalog/categories/departments/") > -1) {
var allProducts = document.getElementsByClassName("threeColumn product");
for (var i = 0; i < allProducts.length; i++) {
var slet = document.getElementsByTagName("mark")[i];
slet.style.display = "none";
console.log("This is here now");
}
}
我希望代码不要在URL中包含/ catalog / categories / departments /的所有页面上都显示名为mark的元素。
它的确显示:无,但出现错误消息:
"TypeError: slet is undefined" But I think I already defined it in the "slet" var?
最佳答案
如果document.getElementsByTagName()
返回空的HTMLCollection
,则document.getElementsByTagName()[i]
返回undefined
,因此slet
是undefined
。这并不意味着您的变量slet
不存在-这将引发ReferenceError
-而是它的值是特殊的undefined
对象。