繁体   English   中英

使用Javascript获取和设置元素的宽度

[英]Getting and Setting the width of an element with Javascript

我有一个ul列表元素,其宽度随其中的文本而变化,并且会定期更改。 现在,我想将ul列表的宽度设置为第一个列表元素的宽度,这是可以更改的文本。 我想“获取”第一个列表项的宽度(#item1),并将ul列表的宽度(#myList)“设置”为刚才提到的第一个列表项的宽度。 我尝试了以下代码,但它不起作用:

<script type="text/javascript">
  var width = document.getElementById('item1').offsetWidth;
  document.getElementById('myList').style.width = width;
</script> 

HTML:

<ul id="myList">
  <li id="item1">text1</li>
  <li>text2</li>
  <li>text3</li>
</ul>

有什么建议么? 我宁愿不使用jQuery,但纯JavaScript ...

谢谢!

使用此方法。在这里,我假设ul元素是#ul,列表元素是#list

 var liWidth=document.querySelector('#list').clientWidth;

 // make the width of ul same
 document.querySelector('#ul').style.width=liWidth+'px';

那应该起作用。并且确保在加载JavaScript之前创建元素,否则将抛出错误,即找不到null的style属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM