【发布时间】:2020-10-01 16:27:44
【问题描述】:
我想要实现的是:
- 如果列表元素的 innerHTML 显示“MAP”(显示地图链接)
- 如果列表元素的 innerHTML 显示“NoMAP”(隐藏地图链接)
这是我的 CSS 代码:
<style type="text/css">
.hideout {
display: none;
}
</style>
这是我的 JavaScript 代码:
<script type="text/javascript">
var listElements = document.querySelectorAll('.list');
var mapElement = document.querySelectorAll('.map');
listElements.forEach(element => {
if (element.innerHTML == "NoMap") {
mapElement.classList.add('hideout');
}
});
我上面的内容是无效的。我发现添加索引可以使其工作。
mapElement[0].classList.add('hideout');
如何在这种情况下应用 for 循环?
【问题讨论】:
-
我已经尝试过 for(var i = 0; i
-
分发也不起作用。不过谢谢!
-
以上链接中的
forEach()答案是我怀疑适合您情况的答案。没有理由它不应该工作 - 这与你的情况相同。 -
使用
element.innerHTML可能不是您想要的,因为HTML 元素的内容通常显示在页面上给用户。使用另一种方法可能会更好,例如使用the html class attribute 和css selectors 根据HTML 类属性而不是标签的innerHTML选择性地隐藏和显示您的地图 -
如果 2 个解决方案中的任何一个解决了您的问题,您可以接受它以标记您的问题已回答。
标签: javascript html dom