如何使用JQuery在另一个div中找到div的宽度

时间:2013-05-16 08:47:15

标签: javascript jquery html css

您好我正在尝试运行此代码,找到另一个div内的div的宽度。但它运行不正常。怎么做?

我想要div mitem1的宽度

代码:

<!DOCTYPE html>
<html>
    <head>
    <style type="text/css">
        div#mydiv {
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
    <script language="JavaScript">
        $('.menubar').each(function(menu){
            var len = $(this).find('.mitem').text().length;
            alert(len);
        });
    </script>
    </head>
    <body>

        <div class="menubar">

            <table border="1"><tr>
                <td><div class="mitem1">Home</div></td>
                <td><div class="mitem1">Communities<ul><li>item1</li><li>item2</li><li>item3</li><li>item4</li><li>item5</li></div></td>
                <td><div class="mitem1">Project Gallery</div></td>
                <td><div class="mitem1">For Our Customer</div></td>
                <td><div class="mitem1">Our Services</div></td>
            </tr></table>

        </div>

    </body>
    </html>

2 个答案:

答案 0 :(得分:8)

$('.menubar .mitem1').each(function() {
  alert($(this).width());
});

Here's a fiddle

如果您想获得宽度,包括paddingborder(和margin,可选),请使用outerWidth()

答案 1 :(得分:3)

问题1

您忘了在页面中添加jQuery。添加它:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

问题2

您必须将代码放入文档中:

$(function () {
});

问题3

现在你可以迭代你的项目,并且为了访问元素的宽度,在jQuery中使用.width()方法:

$(function () {
    $('.menubar .mitem1').each(function() {
        var width = $(this).width();

        // now do anything you want with width
    });
});