繁体   English   中英

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

[英]How to remove specific attribute from all elements inside div?

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

 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>

Select 的后代.parent ,而不是parent的元素。 目前尚不清楚您是否只想要孩子或所有后代 根据您的目的使用正确的组合器。

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

然后,您可以将*替换为[style]到 select 仅实际具有style属性的元素。

代替Array.prototype.slice.call ,使用更现代的Array.from

最后,只需使用forEach (和箭头 function )删除属性。

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

暂无
暂无

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

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