document.getElementById("") 中有更多相同的 ID
More same id´s in document.getElementById("")
我有 html 个包含 157 个 ID 的文件
id="name"
我需要通过单击 一个复选框 将样式 属性 "display" 从 "none" 更改为 "block"
我有这个脚本:
function nms(){
if (document.getElementById("name").style.display === 'block') document.getElementById("name").style.display = 'none';
else {document.getElementById("name").style.display === 'block';}}
在 每个 中更改此 属性 id。
我需要在每个而不是第一个 id 上更改它。
我刚找到这个:
$("[id=yourID]").
我需要为我的复选框实现该代码,onclick 函数在第一次点击显示时执行:阻止,在第二次显示时执行:none。
但它对我不起作用,我不能使用 document.getElementByClassName 因为我需要更改显示 属性.
谢谢你的帮助,我不知道怎么做 运行 :-(
而不是 id
您可能想使用其他一些属性。在所有 HTML 元素上通用的 class 将是一个好主意。如果您的标记如下所示
<div class="name abc"></div>
<div class="name xyz"></div>
<div class="name pqr"></div>
<div class="name hjk"></div>
然后你可以编写javascript代码来为所有这些设置display:block
,如下所示
var elements = document.getElementsByClassName("name");
if (elements != null) {
for (var i = 0; i < elements.length; i++) {
if (elements[i].style.display === "block") {
elements[i].style.display = "none";
} else {
elements[i].style.display = "block";
}
}
}
注意: 在 HTML 中,多个 DOM 元素具有相同的 ID 是无效的
编辑: 添加了如果签入循环允许切换
为什么您认为您不能使用 getElementsByClassName
? display
属性 的更改与 select 元素的更改方式无关。
我有 html 个包含 157 个 ID 的文件
id="name"
我需要通过单击 一个复选框 将样式 属性 "display" 从 "none" 更改为 "block" 我有这个脚本:
function nms(){
if (document.getElementById("name").style.display === 'block') document.getElementById("name").style.display = 'none';
else {document.getElementById("name").style.display === 'block';}}
在 每个 中更改此 属性 id。
我需要在每个而不是第一个 id 上更改它。 我刚找到这个:
$("[id=yourID]").
我需要为我的复选框实现该代码,onclick 函数在第一次点击显示时执行:阻止,在第二次显示时执行:none。
但它对我不起作用,我不能使用 document.getElementByClassName 因为我需要更改显示 属性.
谢谢你的帮助,我不知道怎么做 运行 :-(
而不是 id
您可能想使用其他一些属性。在所有 HTML 元素上通用的 class 将是一个好主意。如果您的标记如下所示
<div class="name abc"></div>
<div class="name xyz"></div>
<div class="name pqr"></div>
<div class="name hjk"></div>
然后你可以编写javascript代码来为所有这些设置display:block
,如下所示
var elements = document.getElementsByClassName("name");
if (elements != null) {
for (var i = 0; i < elements.length; i++) {
if (elements[i].style.display === "block") {
elements[i].style.display = "none";
} else {
elements[i].style.display = "block";
}
}
}
注意: 在 HTML 中,多个 DOM 元素具有相同的 ID 是无效的
编辑: 添加了如果签入循环允许切换
为什么您认为您不能使用 getElementsByClassName
? display
属性 的更改与 select 元素的更改方式无关。