首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >top = $this.css("top")返回对象与元素值

top = $this.css("top")返回对象与元素值
EN

Stack Overflow用户
提问于 2019-04-23 10:20:51
回答 1查看 83关注 0票数 5

我有一个HTML对象:

代码语言:javascript
复制
<div data-x="1" data-y="1" class="tile empty" style="top: 32px; left: 434px;"> 
   <div class="inner">1:1</div>
</div>

但出于某种原因..。当我通过以下代码访问top属性时,它位于jQuery中:

代码语言:javascript
复制
$tile = $('[data-x=1][data-y=1]'); 
top = parseInt( $tile.css("top") );

然后使用以下方法打印它:

代码语言:javascript
复制
console.log(top);

它在浏览器中给了我以下内容:

窗口{postMessage:ƒ,模糊:ƒ,焦点:ƒ,关闭:ƒ,父窗口:ƒ,…}

我对此感到非常困惑,我甚至把我的语句- $img.height()的其余部分剥离到top上,因为它稍后将在编码解决方案中的另一个元素上使用。

我希望它返回32 32,得到解析并输出32

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-23 10:27:25

top是浏览器中预定义的全局变量。它是只读的,所以你所做的作业不起作用,你看到的是它的标准值(顶层窗口)。

确保:

  1. 给您的代码一个本地范围(不要将代码留在全局范围内),以及
  2. 在本地作用域中声明变量,以及
  3. 使用严格模式,以便为只读变量分配是一个错误(而不仅仅是不做任何事情);严格模式还有其他有用的东西,比如禁用隐含的全球化的恐怖 (这是我贫血的小博客上的一篇文章)。

例如:

代码语言:javascript
复制
(function() {
    "use strict";
    // ...
    var $tile = $('[data-x=1][data-y=1]'); 
    var top = parseInt( $tile.css("top") );
    // ...
})();
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55809068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档