javascript - 选择 HTML 中的每个子元素,除了一个
问题描述
我正在尝试使用 javascript 在我的网站中编辑 HTML 元素的样式,但不必编写除一个之外的每个子元素,javascript 中是否有一种方法可以选择父 div 下的所有内容,除了一个子元素<div id = "pages">
?
HTML
<div id = "pages">
<div id = "page-1"></div>
<div id = "page-2"></div>
<div id = "page-3"></div>
<div id = "page-4"></div>
</div>
Javascript
//is there a way to select every pages in div id = "pages" except for one page without typing
//everything manually?
document.getElementbyId("page-1").style.display = "none";
document.getElementbyId("page-2").style.display = "block";
document.getElementbyId("page-3").style.display = "none";
document.getElementbyId("page-4").style.display = "none";
解决方案
this way:
#pages > div:not([id="page-2"]) {
display : none;
}
<div id = "pages">
<div id="page-1">page-1</div>
<div id="page-2">page-2</div>
<div id="page-3">page-3</div>
<div id="page-4">page-4</div>
</div>
If you hate CSS:
function ShowPage(pageID)
{
document.querySelectorAll('#pages > div').forEach(el =>
{
el.style.display = (el.id === pageID) ? 'block' : 'none'
})
}
ShowPage('page-2')
<div id="pages">
<div id="page-1">page-1</div>
<div id="page-2">page-2</div>
<div id="page-3">page-3</div>
<div id="page-4">page-4</div>
</div>
推荐阅读
- mysql - 需要显示来自 2 个单独表的匹配记录
- spring - 如何在spring boot oauth2中自定义jwt解码器
- html - 为什么无法加载来自 favicon generator 的 favicon?
- amazon-cloudfront - 带有云端的服务器预加载
- karate - 空手道使用变量获取json的响应
- swift - getcurrentip 地址时迅速崩溃:FixedWidthInteger.init
- node.js - Mongo 身份验证失败或无效的连接字符串
- regex - JMeter 中的正则表达式是不可能的
- uml - 在 Plantuml 中显示两个网络之间的用户移动
- amazon-web-services - 使用 AWS_IAM 身份验证类型访问 AppSync 时获取“无法读取未定义的属性 'byteLength'”