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

Posted 名字有点长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于js获取元素下所有子元素总宽度赋值给父元素的主要内容,如果未能解决你的问题,请参考以下文章

flex布局之flex-shrink

jQuery怎么获取一个DIV下所有元素的值

几种方法让块级元素默认宽度由子元素决定

js删除一个父元素下面的所有子元素

原生js如何判断元素出现在可视区

怎样能使父元素随子元素的高度变化而变化(css样式