原生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实现ASP分页函数 HTML分页函数
Sep 22 Javascript
工作需要写的一个js拖拽组件
Jul 28 Javascript
jquery.post用法示例代码
Jan 03 Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
loading动画特效小结
Jan 22 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
Mar 29 jQuery
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
vue组件中使用iframe元素的示例代码
Dec 13 Javascript
vue组件中的数据传递方法
May 14 Javascript
Vue.js组件props数据验证实现详解
Oct 19 Javascript
详解Vscode中使用Eslint终极配置大全
Nov 08 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
PHP4实际应用经验篇(6)
2006/10/09 PHP
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
Python实现多线程HTTP下载器示例
2017/02/11 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
安全责任书怎么写
2014/07/28 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
简历中自我评价范文
2015/03/11 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python