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


Posted in Javascript onDecember 14, 2016

有些时候,在一个网页的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>

最终效果图:

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

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

Javascript 相关文章推荐
在IE下:float属性会影响offsetTop的取值
Dec 22 Javascript
JavaScript库 开发规则
Jan 31 Javascript
更快的异步执行(setTimeout多浏览器)
Aug 12 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
Vue插槽原理与用法详解
Mar 05 Javascript
vue2 拖动排序 vuedraggable组件的实现
Aug 08 Javascript
vue+moment实现倒计时效果
Aug 26 Javascript
vue data引入本地图片的两种方式小结
Nov 13 Javascript
微信小程序 require机制详解及实例代码
Dec 14 #Javascript
js实现获取鼠标当前的位置
Dec 14 #Javascript
详解vue.js组件化开发实践
Dec 14 #Javascript
JavaScript Ajax实现异步通信
Dec 14 #Javascript
微信小程序 配置文件详细介绍
Dec 14 #Javascript
微信小程序 闭包写法详细介绍
Dec 14 #Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 #Javascript
You might like
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
JavaScript入门基础
2015/08/12 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python ZipFile模块详解
2013/11/01 Python
Django中url的反向查询的方法
2018/03/14 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
python如何写个俄罗斯方块
2020/11/06 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
外科实习自我鉴定
2013/10/06 职场文书
银行学习十八大感想
2014/01/11 职场文书
八年级物理教学反思
2014/01/19 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
机关职员工作检讨书
2014/10/23 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
2016入党心得体会范文
2016/01/06 职场文书
Python初学者必备的文件读写指南
2021/06/23 Python