为什么惯于这样的style.display工作?

为什么惯于这项工作?

if (byId("annonsera_price").style.display=='inline' || byId("annonsera_price").style.display=='block'){ alert ("Hello"); } function byId(x){ return document.getElementById(x); }

UPDATE2:

<input style="width:100px;" type="text" name="annonsera_price" id="annonsera_price">

我没有用CSS设置它要么!

--------------解决方案-------------

第一次尝试报警只是将style.display,看看它包含:

var el = document.getElementById("annonsera_price");
alert(el.style.display);

style只引用是什么style属性(或通过JS的样式属性设置)。 这有可能是在显示是通过类设置,因此el.style.display将不显示任何东西。

[更新]:由于更新,没有警报发生的原因是因为style.display会“”,而不是“内联”或“块”。 这不会是“内联”或“块”,直到你把它设置的东西,无论是在style属性,或通过设置.style.display

如果样式是通过CSS设置或者是默认的风格,你需要得到的元素的计算样式:

var el = document.getElementById("annonsera_price");

// currentStyle for IE, getComputedStyle for standards-compliant browsers
var style = el.currentStyle || window.getComputedStyle(el);

if (style.display == "inline" || style.display == "block")
alert("Hello");

分类:JavaScript的 时间:2012-12-15 人气:0
本文关键词: JavaScript的HTML
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.711 (s). 9 q(s)