Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript隐藏同名div_Javascript_Html - Fatal编程技术网

使用Javascript隐藏同名div

使用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> <

我想隐藏所有名为“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="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。谢谢!:)修好了,史蒂夫。谢谢!:)