全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

原生JS获取元素集合的子元素宽度实例

有些时候,在一个网页的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获取隐藏元素(display:none)的高度和宽度的方法  # js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法  # js获取Html元素的实际宽度高度的方法  # js获取页面及个元素高度、宽度的代码  # jquery如何获取元素的滚动条高度等实现代码  # jQuery获取页面及个元素高度、宽度的总结——超实用  # 一个JavaScript获取元素当前高度的实例  # 无法获取隐藏元素宽度和高度的解决方案  # 又是  # 不能用  # 配上  # 相对应  # body  # css  # html 


相关文章: 如何高效配置IIS服务器搭建网站?  建站之星如何优化SEO以实现高效排名?  建站为何优先选择香港服务器?  如何在IIS7中新建站点?详细步骤解析  网站插件制作软件免费下载,网页视频怎么下到本地插件?  教程网站设计制作软件,怎么创建自己的一个网站?  中山网站推广排名,中山信息港登录入口?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  高端云建站费用究竟需要多少预算?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  自助网站制作软件,个人如何自助建网站?  内网网站制作软件,内网的网站如何发布到外网?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  网站制作公司,橙子建站是合法的吗?  如何通过FTP服务器快速搭建网站?  建站三合一如何选?哪家性价比更高?  如何快速搭建FTP站点实现文件共享?  制作网页的网站有哪些,电脑上怎么做网页?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  如何在阿里云部署织梦网站?  如何快速查询网站的真实建站时间?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何快速打造个性化非模板自助建站?  如何在Tomcat中配置并部署网站项目?  股票网站制作软件,网上股票怎么开户?  简单实现Android文件上传  c# await 一个已经完成的Task会发生什么  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  微信小程序 五星评分(包括半颗星评分)实例代码  建站主机是否属于云主机类型?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何在IIS中新建站点并配置端口与物理路径?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何在宝塔面板中修改默认建站目录?  广德云建站网站建设方案与建站流程优化指南  c++怎么用jemalloc c++替换默认内存分配器【性能】  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  南宁网站建设制作定制,南宁网站建设可以定制吗?  香港服务器部署网站为何提示未备案?  网站代码制作软件有哪些,如何生成自己网站的代码?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  如何将凡科建站内容保存为本地文件?  如何用PHP工具快速搭建高效网站?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何实现建站之星域名转发设置?  如何通过cPanel快速搭建网站?  如何通过万网虚拟主机快速搭建网站?  如何在万网开始建站?分步指南解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。