html - 是否可以仅使用 1 个 ID 名称来隐藏所有元素标签?

标签 html css dom

我试图通过使用一个 ID 元素来隐藏某些标签,但看起来它只隐藏了我使用的带有 ID 元素的第一个标签。

演示:http://jsfiddle.net/mgm3j5cd/

我该如何解决这个问题?我只想用我声明的 ID 元素隐藏标签。感谢您的帮助

最佳答案

您已将其标记为 CSS,因此页面样式表中的以下 CSS 将起作用:

#hide {
    display: none;
}

编辑:

如果您必须只使用 JavaScript,您可以执行以下操作。请记住,您的文档具有多个具有相同 ID 的元素在技术上已经无效,因此这种方法可能不适用于所有浏览器。 (我用 Firefox 32 测试过)。

工作 JSFiddle:http://jsfiddle.net/88yw7LL9/2/

function hideByID(string) {
    var element = document.getElementById(string); // get first matching element
    var array = [];
    while(element) {
        array.push(element);
        element.id = string + '-processed'; // change ID so next call gets the next matching element
        element = document.getElementById(string);
    }

    for(var i = 0; i < array.length; i++) {
        array[i].id = string; // revert ID to previous state
        array[i].style.display="none"; // hide
    }
}

hideByID('hide');

关于html - 是否可以仅使用 1 个 ID 名称来隐藏所有元素标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25881799/

相关文章:

jquery - Div 内容溢出问题

html - Div 在 JSP 页面中没有正确对齐

html - 将数据属性存储在 'class' 与 HTML5 数据属性中

javascript - window.onclick 在网站中使用两次

html - 如何将 html 元素放置在新生成的元素之外

html - 不透明度仅在 ul 上不在 li css 上

javascript - 使用 document.execCommand ('copy' 复制到剪贴板)因大文本而失败

javascript - JQuery - 似乎无法将事件绑定(bind)到动态 DOM 元素

javascript - jQuery .html() 没有正确设置内容?

<ul> 中所有 <li> 的 HTML 颜色