原生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 相关文章推荐
Draggable Elements 元素拖拽功能实现代码
Mar 30 Javascript
php is_numberic函数造成的SQL注入漏洞
Mar 10 Javascript
js与css实现弹出层覆盖整个页面的方法
Dec 13 Javascript
使用Javascript写的2048小游戏
Nov 25 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
JS正则表达式验证中文字符
May 08 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
element-ui组件中input等的change事件中传递自定义参数
May 22 Javascript
20个必会的JavaScript面试题(小结)
Jul 02 Javascript
vue远程加载sfc组件思路详解
Dec 25 Javascript
JS监听Esc 键触发事键
Apr 14 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执行速度全攻略(上)
2006/10/09 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
关于js datetime的那点事
2011/11/15 Javascript
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
javascript实现下拉菜单效果
2021/02/09 Javascript
python中常用的九种预处理方法分享
2016/09/11 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Django开发中的日志输出的方法
2018/07/02 Python
python获取本机所有IP地址的方法
2018/12/26 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
Python使用进程Process模块管理资源
2020/03/05 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
行政助理求职自荐信
2013/10/26 职场文书
保安的辞职报告怎么写
2014/01/20 职场文书
总裁助理岗位职责
2014/02/17 职场文书
2014年廉洁自律承诺书
2014/05/26 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
结婚堵门保证书
2015/05/08 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL