html中按钮点击事件,为什么要点击两次才会执行函数
<styletype="text/css">#button1{padding:10px;cursor:pointer;background-color:transpare...
<style type="text/css">
#button1 {padding:10px;cursor:pointer;background-color:transparent;border:none;background:#9C0;}
#text1 {display:none;}
</style>
<body>
<input type="button" name="button1" id="button1" value="show" onclick="show()" />
<input type="text" name="text1" id="text1" value="test" />
<script type="text/javascript">
function show()
{if (document.getElementById("text1").style.display=="none")
{document.getElementById("text1").style.display="block";}
else {document.getElementById("text1").style.display="none";}
}
</script> 展开
#button1 {padding:10px;cursor:pointer;background-color:transparent;border:none;background:#9C0;}
#text1 {display:none;}
</style>
<body>
<input type="button" name="button1" id="button1" value="show" onclick="show()" />
<input type="text" name="text1" id="text1" value="test" />
<script type="text/javascript">
function show()
{if (document.getElementById("text1").style.display=="none")
{document.getElementById("text1").style.display="block";}
else {document.getElementById("text1").style.display="none";}
}
</script> 展开
1个回答
展开全部
因为js的style.display是取不到css样式表里的样式的,你这样变成了第一次点击取到了空值,于是执行第一个,就是设置display为none;所以你把display:none的样式直接写成内联样式就好了,写成
style=“display:none;”这样就好了
style=“display:none;”这样就好了
追问
你好,你能告诉我为什么吗?为什么写成内联样式可以,放入CSS就不行?
那js只能设置对象属性,要获取属性值都要这样写成内联的吗?
我刚学这个不久,希望能加个QQ: 492775169。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询