原生JS获取元素集合的子元素宽度实例

 更新时间:2016年12月14日 16:08:55   作者:知乎其微  
本文主要对原生JS获取元素集合的子元素宽度的实现方法进行介绍,代码详细,具有很好的参考价值,需要的朋友一起来看下吧

有些时候,在一个网页的ul li中,存在左右两个部分的内容,但是右边元素内容又是不固定,左边元素相对应的不能用固定宽度,所有需要我们动态的获取右边元素宽度,来赋值给左边元素的marginRight值。

HTML结构:

<ul class="itemCon">
  <li class="item">
    <div class="leftMess">
      <div class="leftCon">
        <span>头像</span>
        <p>名字名字名字名字名字名字名字名字名字名字名字名字名字名字名字名字</p>
      </div>
    </div>
    <div class="rightMess">
      <span>工具1</span>
      <span>工具2</span>
      <span>工具3</span>
    </div>
  </li>
  <li class="item">
    <div class="leftMess">
      <div class="leftCon">
        <span>头像</span>
        <p>名字名字名字名字名字名字名字名字名字名字名字名字名字名字名字名字</p>
      </div>
    </div>
    <div class="rightMess">
      <span>工具2</span>
      <span>工具3</span>
    </div>
  </li>
  <li class="item" id="test">
    <div class="leftMess">
      <div class="leftCon">
        <span>头像</span>
        <p>名字名字名字名字名字名字名字名字名字名字名字名字名字名字名字名字</p>
      </div>
    </div>
    <div class="rightMess">
      <span>工具3</span>
    </div>
  </li>
</ul>

配上CSS:

html,body{padding:0;margin:0}
ul,li{list-style:none;padding:0;margin:0}
p{margin:0;padding:0}
.itemCon{width:450px;height:auto; margin:100px auto; background:#ccc; overflow:hidden}
.item{width:100%; float:left;height:60px;border-bottom:solid 1px #f00; position:relative}
.leftMess{ height:60px;}
.leftCon{ float:left; height:60px; overflow:hidden;width:100%}
.leftMess span{ display:inline-block;width:50px;height:50px; border-radius:50%; background:#f00; text-align:center; line-height:50px; margin:5px; float:left}
.leftMess p{ margin-left:60px}
.rightMess{width:auto;height:60px; position:absolute;right:0;top:0}
.rightMess span{width:50px; height:50px; line-height:50px; text-align:center; margin:5px; float:left; background:#f00}

最后JS代码:

<script type="text/javascript">
  var divs = document.getElementsByClassName('item');
  for (var i = 0; i < divs.length; i++) {
    var lastW = divs[i].children[1].offsetWidth;
    divs[i].children[0].style.marginRight=lastW+"px"
  }
</script>

最终效果图:

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • JavaScrpt的面向对象全面解析

    JavaScrpt的面向对象全面解析

    javascript面向对象知识很广泛,想深入理解需要花费一些时间,本文给大家介绍了js面向对象的创建及相关属性介绍,感兴趣的小伙伴一起学习吧
    2017-05-05
  • 使用JS动态构建目录树

    使用JS动态构建目录树

    本文详细讲解了使用JS动态构建目录树的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 微信小程序仿朋友圈发布动态功能

    微信小程序仿朋友圈发布动态功能

    这篇文章主要介绍了微信小程序仿朋友圈发布动态界面,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • 搭建Bootstrap离线文档的方法

    搭建Bootstrap离线文档的方法

    虽然现在不联网的情况很少,但在本机上搭建一份Bootstrap离线文档以备不时之需也是很有必要的。下面就给大家分享下搭建Bootstrap离线文档的方法,感兴趣的朋友一起看看吧
    2016-12-12
  • javascript globalStorage类代码

    javascript globalStorage类代码

    非IE浏览器“userdata”的解决方案
    2009-06-06
  • 网页广告中JS代码的信息监听示例

    网页广告中JS代码的信息监听示例

    在一些网页广告中提供的JS代码可以进行代码注入,然后监视各种元素,下面有个示例,大家可以参考下
    2014-04-04
  • js实现继承的方法及优缺点总结

    js实现继承的方法及优缺点总结

    这篇文章主要给大家介绍了关于js实现继承的方法及优缺点的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • JavaScript对象访问器Getter及Setter原理解析

    JavaScript对象访问器Getter及Setter原理解析

    这篇文章主要介绍了JavaScript对象访问器Getter及Setter原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • js中json处理总结之JSON.parse

    js中json处理总结之JSON.parse

    parse是解析json数据多种方法中的其中一种。这篇文章主要介绍了js中json处理总结之JSON.parse,需要的朋友可以参考下
    2016-10-10
  • 深入理解JavaScript系列(46):代码复用模式(推荐篇)详解

    深入理解JavaScript系列(46):代码复用模式(推荐篇)详解

    这篇文章主要介绍了深入理解JavaScript系列(46):代码复用模式(推荐篇)详解,本文讲解了原型继承、复制所有属性进行继承、混合(mix-in)、借用方法等模式,需要的朋友可以参考下
    2015-03-03

最新评论