元素不与obj.style.display =''一起显示;

时间:2014-07-30 13:48:20

标签: javascript html css

我在包含span的HTML页面上有一个奇怪的问题,但不会显示:

<span id="wipThankYou">Thank you for submitting your email!</span>

最初隐藏了以下CSS:

#wipThankYou {
    display: none;
}

当用户点击按钮时,将执行以下代码:

function T_show(obj) {

    if ( obj !== null ) {
        obj.style.display='';
    }

}

var wipThankYou = document.getElementById("wipThankYou");
T_show(wipThankYou);

我可以在Chrome中看到正在逐步执行的代码,但不会显示span。当我检查元素时,它的CSS不会改变。我可以在JsFiddle上复制这个问题。

我做错了什么?

更新

我从You Might Not Need JQuery获取了这段代码,但显然它是错误的。谢谢。

3 个答案:

答案 0 :(得分:1)

obj.style.display='inline-block';

或任何你想要的显示(内联,阻止......),但它不应该是空的。

请在此处查看:http://jsfiddle.net/shomz/ELmqf/

答案 1 :(得分:1)

obj.style.display=''重置元素的内联样式。如果要显示它,您需要指定显示方式。将其更改为显示值,它将修复它,例如obj.style.display='inline-block'

答案 2 :(得分:1)

obj.style.display='';对css display无效,因为display可以是:inline(默认),blockinline-block(更多值你可以在这里找到http://www.w3schools.com/cssref/pr_class_display.asp

所以您可以将样式设置为有效值。例如obj.style.display='block';

实例 http://jsfiddle.net/a699x/2/