当您将margin属性设置为auto时,有没有办法获取元素的位置(使用jQuery或普通js)。
这就是我的意思: 的index.html
<div class="new_element">
The new element
</div>
Index.css
.new_element {
max-width: 750px;
margin-left: auto;
margin-right: auto;
}
我用这种方式设计我的CSS,以便div集中在一起,而不是填满系统上的整个窗口&gt; 750px。但它会开始缩小以适应较低的屏幕尺寸,最终会在手机上填满整个窗口
Index.js
//现在我想获得浏览器自动设置的渲染位置。我这样做了:
$('.new_element').position()
但是我收到了以下错误:
未捕获的TypeError:“。new_element”.position不是函数。
我认为如果您没有明确设置左侧和顶部属性,您将无法从Dom中获取它们。
有黑客攻击吗?我能做到这一点的方法吗?
答案 0 :(得分:0)
您的上述代码工作正常 - .position()
确实会正确获取top
设置为left
的元素的margin
和auto
值8px
。您在以下示例中看到的<body>
来自console.log($('.new_element').position());
,并由浏览器的用户代理样式表添加:
.new_element {
max-width: 750px;
margin-left: auto;
margin-right: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="new_element">
The new element
</div>
.position()
值得注意的是,jQuery 1.2.6中引入了console.log($('.new_element').position());
,并且jQuery版本的错误将显示为低于:
.new_element {
max-width: 750px;
margin-left: auto;
margin-right: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<div class="new_element">
The new element
</div>
JSONObject object = response.getJSONObject("data");
JSONArray data = object.getJSONArray("data");
答案 1 :(得分:0)
好吧,伙计们。显然,代码一直都是正确的。 我忘了选择节点的“$”。
我做了
("new_element").position();
而不是
$("new_element").position();