原生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 相关文章推荐
JS实现日期加减的方法
Nov 29 Javascript
使用时间戳解决ie缓存的问题
Aug 20 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
JQuery菜单效果的两个实例讲解(3)
Sep 17 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 Javascript
jquery遍历函数siblings()用法实例
Dec 24 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
AngularJS全局警告框实现方法示例
May 18 Javascript
vue 怎么创建组件及组件使用方法
Jul 27 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
Oct 30 Javascript
微信小程序文章列表功能完整实例
Jun 03 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
php smarty的预保留变量总结
2008/12/04 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
layui分页效果实现代码
2017/05/19 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
5种Python单例模式的实现方式
2016/01/14 Python
详解Python中namedtuple的使用
2020/04/27 Python
python中tab键是什么意思
2020/06/18 Python
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
澳大利亚手袋、珠宝和在线时尚精品店:The Way
2019/12/21 全球购物
new修饰符是起什么作用
2015/06/28 面试题
贷款承诺书范文
2014/05/19 职场文书
七一建党日演讲稿
2014/09/05 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python