繁体   English   中英

如何使用 JavaScript no jQuery 使用带有数据属性的内联样式

[英]How can I use inline style with data attribute using JavaScript no jQuery

我可以像这样在我的 html 文件中使用

<div data-width="250px"></div>
<div data-width="calc(100% - 300px);"></div>

我需要这样输出

<div data-width="250px" style="width:250px"></div>
<div data-width="calc(100% - 300px);" style="width:calc(100% - 300px);"></div>

你可以使用如下

<script>
    document.getElementsByTagName("div")[0].setAttribute("data-width","250px");
    document.getElementsByTagName("div")[0].setAttribute("style","width:250px");
    document.getElementsByTagName("div")[1].setAttribute("data-width","calc(100% - 300px)");
    document.getElementsByTagName("div")[1].setAttribute("style","width:calc(100% - 300px);");
</script>

您可以简单地使用querySelectorAllforEach循环将style宽度属性应用于存储在data-width属性中的divs

要从每个元素获取data-width ,我们可以使用getAttribute方法。

编辑:您可以在同一个querySelectorAll选择多个元素,如sectionh1span

现场演示:仅使用 JavaScript

 let getDivs = document.querySelectorAll('div, h1, section') getDivs.forEach(function(div) { let data = div.getAttribute('data-width') div.style.width = data })
 <div data-width="250px">1</div> <div data-width="calc(100% - 300px)">2</div> <h1 data-width="210px">3</h1> <section data-width="150px">4</section>

暂无
暂无

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

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