运行代码时出现错误,但是确实删除了预期的元素。

我曾尝试使用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,因此sletundefined。这并不意味着您的变量slet不存在-这将引发ReferenceError-而是它的值是特殊的undefined对象。

10-06 00:19