javascript - 删除属性显示为 :none via Javascript 的页面上的 div

标签 javascript html prototype

有一个插件可以在页面上生成一些 div,当它们被查看时,它会让它们显示:无,但所有这些都堆积得太多了。如何通过 Javascript 删除它们?

<div id="workarea">
<div id="message" class="messages" style="display: none;">Your message was saved</div>
<div id="message" class="messages" style="display: none;">Your message was saved</div>
<div id="message" class="messages" style="display: none;">Your message was saved</div>
<div id="message" class="messages" style="display: none;">Your message was saved</div>
</div>

现在我不能只做 $("workarea").innerHTML =""; 因为那时我在工作区需要更多的东西,还有元素(其他 div)在我想要保留的工作区中有 display:none。最好的方法是我可以获取像“消息”这样的类,并让它找到所有具有 display:none 且具有类“消息”的 div,但是如何?

最佳答案

只需遍历它们并检查 style.display 以查看它是否为 "none":

// Reminder to lurkers: This is Prototype, not jQuery!
$("workarea").childElements().each(function(child) {
    if (child.style.display === "none") {
        $(child).remove();
    }
});

或者,如果您想将其限制为具有 "messages" 类的 #workarea 的子元素:

// Reminder to lurkers: This is Prototype, not jQuery!
$("workarea").childElements().each(function(child) {
    if (child.style.display === "none" && child.hasClassName("messages")) {
        child.remove();
    }
});

或者就此而言:

// Reminder to lurkers: This is Prototype, not jQuery!
$$("#workarea > .messages").each(function(child) {
    if (child.style.display === "none") {
        $(child).remove();
    }
});

旁注:您引用的 HTML 无效。 id必须在文档中是唯一的,您不能有多个 div 具有 id “消息”。不会改变上面的答案,但我想我应该提一下。如果这些是由插件生成的,我建议使用不同的插件。 :-)

关于javascript - 删除属性显示为 :none via Javascript 的页面上的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16483955/

相关文章:

javascript - 使用 setTimeout() 时重写异步/等待的 promise

javascript - 如何防止 Leaflet.js 重新加载 Electron 应用程序?

html - 如何使用 DIVS 使用 Html 和 CSS 创建网格

Node.js 中的 JavaScript 原型(prototype)对象效率

java - 如何实现一个在原型(prototype)上调用 destroy 方法的 bean 后处理器?

Javascript:默认原型(prototype)字段显示使用 null 构造函数创建的对象未定义

javascript - Node Nodemon 错误 : Cannot find module 'C:\Program Files\nodejs\node_modules\nodemon\bin\'

javascript - 从表格单元格内的输入标记获取值

javascript - 轮播指示器覆盖弹出模式

javascript - jquery 递增索引输入数组