如何从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>
答案 0 :(得分:3)
选择.parent
的后代,而不是类parent
的元素。还不清楚您只想要children还是全部descendants。使用适合您目的的组合器。
document.querySelectorAll(".parent *") // descendants
document.querySelectorAll(".parent > *") // children
然后,您可以将*
替换为[style]
,以仅选择实际上具有style
属性的元素。
使用更现代的Array.from
代替Array.prototype.slice.call
。
最后,只需使用forEach
(和arrow function)删除属性即可。
Array.from(document.querySelectorAll(".parent [style]"))
.forEach((elem) => elem.removeAttribute("style"));