我尝试使用一个ID
元素隐藏某些标记,但似乎只隐藏了我使用的ID
元素的第一个标记。
DEMO:http://jsfiddle.net/mgm3j5cd/
我该如何解决这个问题?我想仅使用我声明的ID元素隐藏标记。赞赏的帮助
答案 0 :(得分:1)
您已将其标记为CSS
,因此页面样式表中的以下CSS可以使用:
#hide {
display: none;
}
编辑:
如果您只能使用JavaScript,则可以执行以下操作。请记住,通过使用具有相同ID的多个元素,您的文档在技术上已无效,因此这种方法可能无法在每个浏览器中使用。 (我用Firefox 32测试过。)
使用JSFiddle:http://jsfiddle.net/88yw7LL9/2/
function hideByID(string) {
var element = document.getElementById(string); // get first matching element
var array = [];
while(element) {
array.push(element);
element.id = string + '-processed'; // change ID so next call gets the next matching element
element = document.getElementById(string);
}
for(var i = 0; i < array.length; i++) {
array[i].id = string; // revert ID to previous state
array[i].style.display="none"; // hide
}
}
hideByID('hide');
答案 1 :(得分:0)
最简单的解决方案应该是将“class”属性分配给您要隐藏的某些元素,例如:
.XXXX
{
display:none;
}
也许,您想要指定一些隐藏了id的元素,例如:
#id1 , #id2
{
display:none;
}
或
div#id1 , div#id2 //more accurate
{
display:none;
}
但遗憾的是,您无法使用一个ID隐藏所需的元素。