您好我有几个这样的div:
<div id="404.4T:"></div>
<div id="404.4R:"></div>
<div id="404.4P:"></div>
<div id="404.4B:"></div>
我需要使用javascript只显示带字母T的div并隐藏另一个等等...我有4个按钮,每个按钮显示选择了le字母的div ... 我找到了这段代码:
function myFunction0() {
var divs = document.getElementsByTagName("div");
for (var i = divs.length; i;) {
var div = divs[--i];
if (div.id.indexOf("P:") > -1) {
div.parentNode.removeChild(div);
}
}
}
它有效,但我不能再用P显示div。 谢谢戴维德。
答案 0 :(得分:1)
因为您从页面中移除了它们,所以您应该为display
更改none
css属性,以便隐藏它们。然后,您可以通过将css属性display
更改为“再次阻止”来显示它们。
<div id="404.4T:"></div>
<div id="404.4R:"></div>
<div id="404.4P:"></div>
<div id="404.4B:"></div>
<script>
function myFunction0() {
var divs = document.getElementsByTagName("div");
for (var i = divs.length; i;) {
var div = divs[--i];
if (div.id.indexOf("P:") > -1) {
div.style.display = 'none';
}
}}
</script>
然后你可以使用
重新打开它们div.style.display = 'block';
答案 1 :(得分:0)
您必须隐藏div而不是删除。
// This for hide
element.style.display= "none";
// This to display
element.style.display= "block";
答案 2 :(得分:0)
您正在删除页面中的元素;它们不复存在了。改变这一行:
div.parentNode.removeChild(div);
为:
// hide, but don't remove, the element
div.style.display = 'none';
然后再用它来显示div:
// show the element again
div.style.display = 'block';
或者,如果您需要元素继续占用页面上的空间但不显示,则可以尝试visibility
属性。使用hidden
隐藏,visible
显示。