Simple Javascript "undefined" question -
i'm iterating on bunch of child nodes , checking see if visible on page statement:
if(child.offsetwidth == 0 || child.offsetheight == 0 || child.style.visibility == 'hidden' || child.style.display == 'none'){ child defined in loop that's not issue.
what issue elements might not have style attribute defined , javascript returns "child.style" not defined.
how do seemingly simple if statement without stopping because not defined?
i tried doing this:
if(undefined !== child.style){ var addquery = "child.style.visibility == 'hidden' || child.style.display == 'none'"; } if(child.offsetwidth == 0 || child.offsetheight == 0 || addquery){ console.debug(child); } but think addquery evaluating true , not working.
if(child.offsetwidth == 0 || child.offsetheight == 0 || (child.style && (child.style.visibility == 'hidden' || child.style.display == 'none'))) since && short-circuit operator, evaluate child.style.visibility == 'hidden' || child.style.display == 'none' if child.style evaluates true, meaning child.style exists, , therefore can accessed. if child.style evaluates false, rest ignored; child.style won't accessed, , therefore no errors thrown.
Comments
Post a Comment