原生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代码片段收集
Jul 12 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
收集json解析的四种方法分享
Jan 17 Javascript
AngularJS入门教程之Hello World!
Dec 06 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
Nov 21 Javascript
JavaScript易错知识点整理
Dec 05 Javascript
Bootstrap3多级下拉菜单
Feb 24 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 Javascript
javascript History对象原理解析
Feb 17 Javascript
jquery实现点击左右按钮切换图片
Jan 27 jQuery
微信小程序 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笔记之常用文件操作
2010/10/12 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
vue实现购物车加减
2020/05/30 Javascript
python实现中文分词FMM算法实例
2015/07/10 Python
快速入手Python字符编码
2016/08/03 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
python 提取文件指定列的方法示例
2019/08/07 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
Python实现word2Vec model过程解析
2019/12/16 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
追悼会主持词
2014/03/20 职场文书
研究生求职自荐书
2014/06/23 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
Python语言中的数据类型-序列
2022/02/24 Python
Django基础CBV装饰器和中间件
2022/03/22 Python