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

发布时间 - 2026-01-10 21:49:38    点击率:

有些时候,在一个网页的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 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251811 】 【 AI营销90571


相关推荐: Linux安全能力提升路径_长期防护思维说明【指导】  如何挑选优质建站一级代理提升网站排名?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何快速使用云服务器搭建个人网站?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Laravel如何处理表单验证?(Requests代码示例)  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何用虚拟主机快速搭建网站?详细步骤解析  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  高端建站如何打造兼具美学与转化的品牌官网?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  微信小程序 wx.uploadFile无法上传解决办法  开心动漫网站制作软件下载,十分开心动画为何停播?  在线制作视频网站免费,都有哪些好的动漫网站?  Android实现代码画虚线边框背景效果  香港服务器网站推广:SEO优化与外贸独立站搭建策略  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  如何在腾讯云免费申请建站?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Laravel distinct去重查询_Laravel Eloquent去重方法  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  大型企业网站制作流程,做网站需要注册公司吗?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何在宝塔面板中修改默认建站目录?  香港服务器选型指南:免备案配置与高效建站方案解析  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  浅析上传头像示例及其注意事项  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何实现建站之星域名转发设置?  黑客如何利用漏洞与弱口令入侵网站服务器?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  使用Dockerfile构建java web环境  javascript读取文本节点方法小结