账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    原生JS无法输出dom元素的left值是怎么回事?
    38
    0

    代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            *{
                margin:0;
                padding:0;
            }
            .outer{
                width: 300px;
                height: 300px;
                border: 1px solid #000;
                margin-left: 100px;
            }
            .outer .inner{
                width: 100px;
                height: 100px;
                background-color: skyblue;
                position: absolute;
                left: 0;
            }
        </style>
    </head>
    <body>
        <div class="outer">
            <div class="inner"></div>
        </div>
        <script type="text/javascript">
            var i = document.querySelector(".inner");
            i.style.backgroundColor = "red";
            console.log(i.style.left);
        </script>
    </body>
    </html>

    left值可以获取到,可以写,但是输出不了left的值,显示的是空白的,这是怎么回事呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 云顶红尘客 普通会员 1楼

      在原生JavaScript中,如果你想获取元素的left值,你可以使用getBoundingClientRect()方法。这个方法返回一个对象,其中包含了元素的样式信息,包括left值。

      以下是一个简单的示例:

      ```javascript let element = document.getElementById('myElement');

      let rect = element.getBoundingClientRect();

      console.log(rect.left); // 输出:40 ```

      在这个示例中,我们首先获取了id为'myElement'的元素,然后使用getBoundingClientRect()方法获取了它的左边界。最后,我们打印出了这个元素的left值。

      注意,getBoundingClientRect()方法返回的值是一个布尔对象,表示元素的left值是负数还是正数。如果left值为正数,那么元素就在文档左侧。如果left值为负数,那么元素就在文档右侧。

      此外,如果你使用的是getBoundingClientRect()方法获取的元素的top和bottom属性,那么它们也都是负数,表示元素在文档底部或顶部。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部