使用Javascript隐藏同名div
我想隐藏所有名为“mask”的div 这是我的HTML:使用Javascript隐藏同名div,javascript,html,Javascript,Html,我想隐藏所有名为“mask”的div 这是我的HTML: <div id="first"> <div id="firsttest"></div> <div class="one onehelp"> <div id="mask"> <div id="onetip"></div> </div> <div id="Div5"></div> <
<div id="first">
<div id="firsttest"></div>
<div class="one onehelp">
<div id="mask">
<div id="onetip"></div>
</div>
<div id="Div5"></div>
<div id="resultone"></div>
</div>
<div class="two twohelp">
<div id="mask">
<div id="twotip"></div>
</div>
<div id="Div6"></div>
<div id="resulttwo"></div>
</div>
<div class="three threehelp">
<div id="mask">
<div id="threetip"></div>
</div>
<div id="Div7"></div>
<div id="resultthree"></div>
</div>
</div>
有没有一种方法可以通过使用纯Javascript来隐藏它们。没有jQuery。 < P>你不应该在HTML中使用重复ID,考虑将它改为类。 如果将
id=“mask”
更改为class=“mask”
,则可以执行以下操作:
var hidemask = document.querySelectorAll(".mask");
for (var i = 0; i < hidemask.length; i++) {
hidemask[i].style.display = "none";
}
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((' ' + elems[i].className + ' ').indexOf(' ' + 'mask' + ' ') > -1) {
elems[i].style.display = "none";
}
}
var divsWithMask = document.querySelectorAll(".mask");
for(var i = 0; i < divsWithMark.length; i++) {
divsWithMak[i].style.display = "none";
}
<>你不应该在HTML中使用重复ID,考虑把它改成一个类。 如果将
id=“mask”
更改为class=“mask”
,则可以执行以下操作:
var hidemask = document.querySelectorAll(".mask");
for (var i = 0; i < hidemask.length; i++) {
hidemask[i].style.display = "none";
}
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((' ' + elems[i].className + ' ').indexOf(' ' + 'mask' + ' ') > -1) {
elems[i].style.display = "none";
}
}
var divsWithMask = document.querySelectorAll(".mask");
for(var i = 0; i < divsWithMark.length; i++) {
divsWithMak[i].style.display = "none";
}
每个文档的
id
属性必须是唯一的。您可以使用类
做您想做的事情。因此,您将有多个div
s,如下所示:
<div id="something" class="mask"></div>
然后你可以做:
var hidemask = document.querySelectorAll(".mask");
for (var i = 0; i < hidemask.length; i++) {
hidemask[i].style.display = "none";
}
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((' ' + elems[i].className + ' ').indexOf(' ' + 'mask' + ' ') > -1) {
elems[i].style.display = "none";
}
}
var divsWithMask = document.querySelectorAll(".mask");
for(var i = 0; i < divsWithMark.length; i++) {
divsWithMak[i].style.display = "none";
}
var divsWithMask=document.queryselectoral(“.mask”);
对于(变量i=0;i
每个文档的id
属性必须是唯一的。您可以使用类
做您想做的事情。因此,您将有多个div
s,如下所示:
<div id="something" class="mask"></div>
然后你可以做:
var hidemask = document.querySelectorAll(".mask");
for (var i = 0; i < hidemask.length; i++) {
hidemask[i].style.display = "none";
}
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((' ' + elems[i].className + ' ').indexOf(' ' + 'mask' + ' ') > -1) {
elems[i].style.display = "none";
}
}
var divsWithMask = document.querySelectorAll(".mask");
for(var i = 0; i < divsWithMark.length; i++) {
divsWithMak[i].style.display = "none";
}
var divsWithMask=document.queryselectoral(“.mask”);
对于(变量i=0;i
不能多次分配同一ID
但您可以将id为“mask”的属性类添加到div中,例如:
。。。
并按此类选择所有图元:
var hidemask = document.getElementsByClassName("mask");
for(i = 0; i < hidemask.length; i++)
hidemask[i].style.display = "none";
var hidemask=document.getElementsByClassName(“掩码”);
对于(i=0;i
不能多次分配同一ID
但您可以将id为“mask”的属性类添加到div中,例如:
。。。
并按此类选择所有图元:
var hidemask = document.getElementsByClassName("mask");
for(i = 0; i < hidemask.length; i++)
hidemask[i].style.display = "none";
var hidemask=document.getElementsByClassName(“掩码”);
对于(i=0;i
HTML中不允许重复ID。改为使用class
。ID必须是唯一的。HTML中不允许重复ID。改为使用class
。ID必须是唯一的。强制性的“document.querySelectorAll在IE7中不起作用”警告。@JoeEnos为石器时代的浏览器添加了一个选项:)@mattytommo是的,我每次看到它都会畏缩,但据我所知,这是唯一的方法。我想知道为什么要花这么长时间才能找到按类名选择的方法。强制性的“document.querySelectorAll在IE7中不起作用”警告。@JoeEnos为石器时代的浏览器添加了一个选项:)@Mattytomo是的,每次看到这个我都会畏缩,但据我所知,这是唯一的方法。我想知道为什么要花这么长时间才能找到按类名选择的方法。强制性的“document.getElementsByClassName在IE8中不起作用”警告。您可能是指getElementsByClassName
,而不是“getElementByClassName”(注意缺少的“s”)。强制性的“document.getElementsByClassName在IE8中不起作用”警告。你的意思可能是getElementsByClassName
,而不是“getElementByClassName”(注意缺少的“s”)。修复了,Steve。谢谢!:)修好了,史蒂夫。谢谢!:)