除非我连续点击按钮两次,否则该功能运行完美。
function hideable(id) {
var e = document.getElementById(id);
if (e.style.display == 'inline-block')
e.style.display = 'none';
else
e.style.display = 'inline-block';
}
<img class="user_upload" src="upload/0000000000.gif" alt="1024 KB, 500x309" title="1024 KB, 500x309" id="0000000000">
<span id="hide_image" onclick="hideable('0000000000');">hide image</span>
编辑:抱歉,我应该指定。这是我已经在使用的 CSS,但它仍然不起作用(即使使用内联 block )
img.user_upload {
height: 75px; display: inline-block; float: left;
margin: 0px 20px 10px 0px;}
最佳答案
因为你的
<img class="user_upload" src="upload/0000000000.gif" alt="1024 KB, 500x309"title="1024 KB, 500x309" id="0000000000">
尚不包含显示样式,它在您的 if 语句中返回 null 并触发您的 else 情况。
尝试:
<img class="user_upload" src="upload/0000000000.gif" alt="1024 KB, 500x309" title="1024 KB, 500x309" id="0000000000" style="display:inline-block">
现在当你运行它时,它会识别出有一个元素并将样式设置为无。
关于javascript - 为什么我必须点击两次按钮才能工作,我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26140275/