4

这个 JS 脚本给了我一个警告框说;

jQuery.UI.version = 1.0.2  ---   Box Width: undefined

我该如何选择#resizable

 <head>
    <title></title>
    <link href="StyleSheet.css" rel="stylesheet" type="text/css" />
    <script src="jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="jquery-ui-1.10.2.custom.min.js" type="text/javascript"></script>
       <style>
  #resizable { width: 200px; height: 150px; padding: 5px; border: 1px solid red;}

  </style>

      <script>
        $(function () {
            var boxWidth = $('#resizable').attr('width');
            alert("jQuery.UI.version = " + jQuery.ui.version + "  ---   Box Width: " + boxWidth);           
        });
  </script>


</head>
<body>
    <div id="resizable" class=">
        <div id="title">
            <h2>
            The expanding box
            </h2>
        </div>    
    </div>
</body>
4

6 回答 6

3

您的选择器$('#resizable').attr('width');搜索width不存在的可调整大小的属性

我想你在要求width()

试试这个

 var boxWidth = $('#resizable').width(); //this gives you the width of resizable div

更新看到评论

您的代码读取了 div 的属性宽度<div id="resizable" class="asd">..但是看,这个 div 中没有名为 width 的属性,所以它失败了... doc to read more about attr()

如果您在 div 中添加宽度,您的代码将起作用<div id="resizable" class="asd" width="30px">...这会给您带来 30px警报...

于 2013-04-11T10:01:19.250 回答
3

看到这里你没有属性width

<div id="resizable" class=">

这肯定会崩溃并设置undefinedvar boxWidth = $('#resizable').attr('width');

有两种获取元素宽度的方法,例如:

顺便.width()说一句:

$('#resizable').width();

顺便.css()说一句:

$('#resizable').css('width');
于 2013-04-11T10:07:48.403 回答
1

试试这个:

$('#resizable').width();
于 2013-04-11T10:01:26.593 回答
1

您在该 div 上没有 width 属性,您是否要获取该 div 的 width 属性?尝试

$("#resizable").width();
于 2013-04-11T10:02:17.567 回答
0
alert($('#resizable').width()); will you give 200

alert($('#resizable').css('width')); and this will you give 200px 

div 宽度

于 2013-04-11T10:07:09.847 回答
0

使用纯 JavaScript,您可以通过以下方式执行此操作:

document.getElementById('resizable').clientWidth;
于 2018-05-23T08:11:07.017 回答