2016-11-21 115 views
-4

嘿,我可以隐藏我的div,但我的问题是,如果我重新加载我的网页,我总是看到隐藏的div一秒钟。Javascript隐藏DIV HTML

有人知道如何解决这个问题吗?

+9

分享您的代码 – brk

+1

你想查看你的答案并接受其中的一个? –

回答

4

要解决此类问题,您需要将<div>的属性hidden或某些内联属性。然后你需要用JS隐藏它,并删除内联的东西。

$(function() { 
 
    $(".hide").hide().removeClass("hide"); 
 
});
.hide {display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="hide">I am not shown</div>

方法2:使用hidden属性。

$(function() { 
 
    $(".hide").hide().removeAttr("hidden"); 
 
});
.hide {display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div hidden>I am not shown</div>

方法3:使用hidden属性和.prop()

$(function() { 
 
    $(".hide").hide().prop("hidden", false); 
 
});
.hide {display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div hidden>I am not shown</div>

+3

我喜欢你在一个片段中把它变成这样的事实,所以我们什么都看不到 – Ivaro18

+0

@ Ivaro18哈哈哈......邪恶的微笑。 –

1

在此,您对DIV的CSS,添加:

display:none; 

所以在div将被加载但不可见。当你需要给你,你可以做你现在正在做

0

隐藏属性只是添加到您的DIV,它应该解决您的问题,那么,当你想要显示它

0

$(document).ready(function() { 
 
    $('#myDiv').hide(); 
 
});
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
    <div id="myDiv"><p>hello</p></div> 
 
    </body>
由JavaScript删除

是的,你可以通过javascript创建div。

var div = document.createElement("Div"); 
 
var text = document.createTextNode("this is my Div") 
 
div.appendChild(text); 
 
document.body.appendChild(div);
<body> 
 
    </body>

+0

不!没有答案。 –

+1

除非需要,否则不应使用客户端Javascript创建DOM元素;特别是当解决方案像一行CSS那样简单时更是如此。 – chrBrd

+0

据我所知,任何时候JavaScript会运行,你会看到div.Until你隐藏它。 –