gpt4 book ai didi

javascript - 如何从div内的所有元素中删除特定属性?

转载 作者:行者123 更新时间:2023-11-28 16:57:12 25 4
gpt4 key购买 nike

如何删除style <div class="parent"> 内所有元素(子元素)的属性?

function myFunction() {
var divsname = Array.prototype.slice.call(document.getElementsByClassName("parent"));
divsname.forEach(function(div) {
divs.removeAttribute("style");
});
}
<div id="container">
<div class="parent" name="parentone">
<div id="childone" style="height:10px">
<div id="childtwo" style="background-color:red"></div>
</div>
</div>
<div class="parent" name="parenttwo">
<div id="childthree" style="height:10px"></div>
</div>
</div>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

最佳答案

选择 .parent后代 ,而不是类 parent 的元素。不太清楚您是否只想要 children或全部descendants 。根据您的目的使用正确的组合器。

document.querySelectorAll(".parent *") // descendants
document.querySelectorAll(".parent > *") // children

然后,您可以替换 * 通过 [style] 仅选择实际上具有 style 的元素属性。

而不是 Array.prototype.slice.call ,使用更现代的 Array.from .

最后,只需使用 forEach 删除属性即可(和 arrow function )。

Array.from(document.querySelectorAll(".parent [style]"))
.forEach((elem) => elem.removeAttribute("style"));

关于javascript - 如何从div内的所有元素中删除特定属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58799011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com