使用 Javascript 获取和设置元素的宽度
Getting and Setting the width of an element with Javascript
我有一个 ul list 元素,它的宽度随其中的文本而变化,会定期变化。现在我想将 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 的样式属性
相关文章:
- 使用 JavaScript 一次为一个元素设置多个属性
- 为dropdownlistfor(MVC)中的每个元素设置唯一id
- 无法为HTML5中具有画布和图像的可拖动元素设置“拖动图像”
- Jquery为每个元素设置属性
- 在JSON数组中进行迭代,并为其元素设置样式
- 将jquery ui窗口的父元素设置为另一个元素
- 如何使用随机css id为元素设置样式
- 如何为所有子元素设置填充
- Javascript:为元素设置适当的事件处理程序
- 为已设置动画的元素设置动画
- 将HTML元素设置为可滚动
- jQuery:从 JSON 对象为元素设置值
- 如何为 HTML 中的多个元素设置相同的 ID
- 为动态创建的元素设置属性
- 同时为一个 Li 元素设置类“活动”
- 如何使用 javascript 为元素设置内联 css 样式
- 如何为动态添加的 html 元素设置 setCustomValidity()
- 为包含 HTML 标记的字符串中的元素设置 Style 属性
- 获取两个元素的高度,将另一个元素设置为该高度
- 为表单元素设置 Cookie