js获取元素下所有子元素总宽度赋值给父元素

这个问题是今天在网上看到有人提的。

想要获取#box下面所有div的宽度之和,然后赋值给#box,不论加多少个div,#box的宽都会随着div的增加而改变。

    <style>
    #box{display:inline-block; border:1px #333 solid;}
    </style>
    <div id="box">
        <div style="width:100px; height:50px;"></div>
        <div style="width:100px; height:50px;"></div>
        <div style="width:100px; height:50px;"></div>
        <input type="button" id="btn" value="修改" />
    </div>
    <p class="notice"></p>
    <script>
    $("#btn").click(function(){
        var w=0;
        $("#box div").each(function() {
            w+=parseInt($(this).width());
        });
        $("#box").width(w);//或使用$("#box").css("width",w)一样的    
        $(".notice").html("div的总宽度为:"+w);
    });
    </script>

最主要的就是用到了each,遍历所有的div,获取他们的宽度并累加起来。

原文转载自:http://www.santii.com/article/128.html

posted @ 2017-10-31 09:35  名字有点长  阅读(2442)  评论(0编辑  收藏  举报