首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >宽度:elm.css(“jqLite”)返回空字符串

宽度:elm.css(“jqLite”)返回空字符串
EN

Stack Overflow用户
提问于 2013-05-18 03:07:38
回答 1查看 4.5K关注 0票数 3

这似乎是我在使用angular.js时遇到的jqLite的问题。要查看问题,请打开控制台选项卡,然后在this jsbin中单击"run with js“。left.css("width")返回了一个空字符串,而它不应该返回。

HTML

代码语言:javascript
复制
<!doctype html>
<html ng-app>
  <head>
<meta name="description" content="Angular Template" />
    <script src="http://code.angularjs.org/1.0.6/angular.min.js"></script>
    <script src="script.js"></script>
  </head>
  <body>
    <div class="container">
      <div class="left"><span id="test">left</span></div>
      <div class="right">right</div>
    </div>
  </body>
</html>

CSS

代码语言:javascript
复制
.container {display:table; width:100%;}
.left {border: 1px dashed purple; display:table-cell; overflow:hidden; width: 66%; height: 20px;}
.right {display:table-cell; background:green;  width: 34%; height: 20px;}

JS

代码语言:javascript
复制
var innerSpan = document.getElementById("test");
var left = angular.element(innerSpan);
console.log(left.css("width"));

当我使用chrome dev工具面板检查元素时,计算出的宽度肯定不是空字符串?这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-18 03:36:56

不能使用.css('width')来获取元素的宽度。您可以使用它来获取带样式的宽度。因为您没有在元素的style属性中定义宽度,所以不会得到任何值。

请尝试使用.prop('offsetWidth')

此外,在使用jsbin.com时,您的脚本也会自动包含在内。包括script.js在内就是抛出了一个404。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16616231

复制
相关文章

相似问题

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