原生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 相关文章推荐
jQuery 行背景颜色的交替显示(隔行变色)实现代码
Dec 13 Javascript
js URL参数的拼接方法比较
Feb 15 Javascript
jQuery插件windowScroll实现单屏滚动特效
Jul 14 Javascript
js实现拖拽效果(构造函数)
Dec 14 Javascript
详解JavaScript中的属性和特性
Dec 08 Javascript
js遍历json的key和value的实例
Jan 22 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
Mar 02 Javascript
jQuery中map函数的两种方式
Apr 07 jQuery
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
webpack2.0配置postcss-loader的方法
Aug 17 Javascript
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
Vue filter 过滤器、以及在table中的使用介绍
Sep 07 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
php网页病毒清除类
2014/12/08 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
javascript 操作文件 实现方法小结
2009/07/02 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
JavaScript闭包详解
2015/02/02 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
Python微信库:itchat的用法详解
2017/08/14 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
办公室岗位职责
2014/02/12 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
2015年售票员工作总结
2015/04/29 职场文书