【发布时间】:2015-05-29 10:22:02
【问题描述】:
我用
创建了一个小设置和元素,我希望根据其指定复选框的状态显示或隐藏它们。选中复选框时,应设置 display:intial,未选中复选框时,应设置 display:none。但是,我一直在尝试找出如何使用 JS 来做到这一点,但我还没有得到任何结果。我的代码示例:
<p id="nr_1" style="display: initial">Number 1 Example text here </p>
<input type="checkbox" id="nr_1" checked> Number 1</input>
<p style="display: initial" id="nr_1">
<img src="src_nr_1.png">
</p>
我设法拼凑起来的 JS 看起来像这样:
function handleClick($id) {
if (document.getElementById($id).display == checked) {
var element = document.getElementById($id);
element.style = "display:initial";
}
else {
var element = document.getElementById($id);
element.style = "display:initial";
}
}
但是,我什至无法成功让复选框执行任何操作。我已经尝试过 If/Else 只是弹出一个带有文本的警报,看看我是否能够在选中和取消选中复选框时发生任何事情。从我一直在构建的结构中可能很明显,但我以前从未使用过 JS。我想它必须与 onClick() 或 onCheck() 做一些事情,但似乎都没有响应任何事情。
所以我在这里要做的是让 JS 在选中/取消选中复选框时做出反应。我想让它尽可能通用,因为会有 10 到 25 个复选框之间的某个地方,并且必须为每个不同的 HTML 元素硬编码并不是最理想的情况。复选框、文本元素和图像都具有相同的 ID 以匹配它们。因此,如果复选框 1 被选中,文本元素 1 和图像 1 将出现。如果它没有被选中,它们都会消失。任何能指出我正确方向的东西都将不胜感激。
【问题讨论】:
-
您有两个具有相同
id的元素:这是无效的,并且会使用id-selector 破坏任何 JavaScript。 -
其实还有
three element with same id
标签: javascript html checkbox