【问题标题】:Javascript returns no widthJavascript不返回宽度
【发布时间】:2017-06-09 09:17:26
【问题描述】:

我知道这会很尴尬,但我今天是个笨蛋!

为什么 Javascript 不在这里返回宽度?

下面代码的输出是:

JQUERY 说:500;

JAVASCRIPT 说:(这就是问题所在。Javascript 只返回 NOTHING)

这里是 小提琴链接: https://jsfiddle.net/w62zg76f/1/

更新:谢谢你们! 解决方案当然是 .offsetWidth

(我知道这会很尴尬 :-)

<style>
#divA
{
  width: 500px;
}
</style>

<body>
<div id="divA">I'm a div. Get my width!</div>

<!-- Just for output -->
<p id=result></p>

<script>
$(document).ready(function()
{
  $("#result").html(
  "<br />JQUERY says: " + $("#divA").width() + 
  "<br />JAVASCRIPT says: " + document.getElementById("divA").style.width
  );

});
</script>

【问题讨论】:

标签: javascript html css


【解决方案1】:

使用offsetWidth

$("#result").html(
"<br />JQUERY says: " + $("#divA").width() + 
"<br />JAVASCRIPT says: " + document.getElementById("divA").offsetWidth;
);

HTMLElement.offsetWidth

【讨论】:

    【解决方案2】:

    您应该使用.offsetWidth.offsetHeight 属性。请注意,它们属于元素,而不是 .style

    "<br />JAVASCRIPT says: " + document.getElementById("divA").offsetWidth;
    

    【讨论】:

      【解决方案3】:

      改用 document.getElementById("divA").offsetWidth。

      【讨论】:

        【解决方案4】:

        document.getElementById("divA").style.width 返回 undefined,你必须使用 offsetWidth

        $(document).ready(function(){
        
          $("#result").html(
          "<br />JQUERY says: " + $("#divA").width() + 
          "<br />JAVASCRIPT says: " + document.getElementById("divA").offsetWidth
          );
        
        });
        #divA{
          width: 500px;
        }
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <div id="divA">I'm a div. Get my width!</div>
        
        
        
        
        <!-- Just for output -->
        <p id=result></p>

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-21
          • 2015-04-24
          • 2015-09-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多