原生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 相关文章推荐
jsTree 基于JQuery的排序节点 Bug
Jul 26 Javascript
jquery ajax 简单范例(界面+后台)
Nov 19 Javascript
jquery将一个表单序列化为一个对象的方法
Dec 02 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
jQuery中scrollLeft()方法用法实例
Jan 16 Javascript
js+css简单实现网页换肤效果
Dec 29 Javascript
简单实现轮播图效果的实例
Jul 15 Javascript
JS跨域请求外部服务器的资源
Feb 06 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
vue使用better-scroll实现滑动以及左右联动
Jun 30 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
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
详解vue v-model
2020/08/31 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
python3制作捧腹网段子页爬虫
2017/02/12 Python
Python中偏函数用法示例
2018/06/07 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
金鑫耀Java笔试题
2014/09/06 面试题
《自选商场》教学反思
2014/02/14 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
班组建设经验交流材料
2014/05/12 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
小学运动会报道稿
2014/10/04 职场文书
成绩单评语
2015/01/04 职场文书
会计主管岗位职责
2015/04/02 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL