1

I can't access the left property of one image element in a JavaScript function when I set the property from within stylesheets but when I use inline styles on the image tag it works fine.

Here is my code:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
        <script type="text/javascript">
            function moveObjRight(obj) {
                var a = document.getElementById(obj);
                alert(a.style.left)
            }
        </script>
        <style type="text/css">
            #AS
            {
                top: 141px;
                left: 118px;
                position: absolute;
                height: 25px;
                width: 25px;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <img alt="asd" src="pic 3-4.jpg" id="AS" />
                <input type="button" value="Button" onclick="javascript:moveObjRight('AS');" />
            </div>
        </form>
    </body>
</html>
0

3 Answers 3

3

You need to use the computed styles properties. This can be achieved in a cross browser method with a simple function. Have a look on quirks mode for an explanation of the following function.

function getStyle(el,styleProp) {
    var x = document.getElementById(el);
    if (x.currentStyle)
        var y = x.currentStyle[styleProp];
    else if (window.getComputedStyle)
        var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
    return y;
}
Sign up to request clarification or add additional context in comments.

Comments

0

For Mozilla Firefox, check the documentation for img.

In Internet Explorer, see <IMG> Property Pages Dialog Box.

Comments

0

Just a suggestion (not an answer), use jQuery!

You would be able to access the left property with the following code.

$('#yourdiv').css('left');

Reference: .css()

1 Comment

It is a meme.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.