Why won't this work? It should check the element for display
css style.
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">
I haven't set it with css either!
If the style is set via CSS or is a default style, you need to get the computed style of the element:
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");
First try alerting just the style.display and see what it contains:
var el = document.getElementById("annonsera_price");
alert(el.style.display);
style
only references what is in the style attribute (or set through JS on the style property). It's possible that the display is set through the class, and therefore el.style.display
won't show anything.
[ Update ]:Given the update, the reason no alert happens is because style.display
will be "", not "inline" or "block". It won't be "inline" or "block" until you set it to something, either in the style
attribute or by setting .style.display
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.