我有一个sharepoint网站让我疯狂试图删除所有垃圾代码,以便我可以应用我的设计。我很好奇,如果jquery可以从包含div中的所有元素中删除所有css吗?
例如,如何使用jquery从这个html中删除所有css格式?
<div id="myID" >
<span class="myClass1">
<span class="myClass2"></span>
</span>
<span class="myClass3">
<ul class="myClass4" style="padding-left:100px;">
<li>item</li>
</ul>
</span>
</div>
答案 0 :(得分:4)
试试这个(updated for the last time demo)(感谢Fabrício的指针):
$('#myID [style]').removeAttr('style');
这将剥离仅<div id="myID">
的子节点的任何内联样式属性,并保留其他所有内容(删除这些节点上的类除了样式之外还可以有其他效果)。您可以定义一些仅适用于<div id="myID">
的子节点的CSS,如CSS重置。这可能是这样的:
#myID * {
border: thin red solid;
}
答案 1 :(得分:0)
尝试:
$('#myID').find('*').attr('class', '');
答案 2 :(得分:0)
要删除所有css,我认为您必须删除所有style
class
和id
属性。
这是我的DEMO
此Javascript删除样式属性和类
$("#myID *").removeAttr("style");
$("#myID *").each(function(){
$(this).removeClass($(this).attr("class"));
});
答案 3 :(得分:0)
从其他答案中得出的问题是,并非所有子级都会被处理,或者没有class
的属性=classname
将保留。
这对我有用:
$("#myID *") // select all children of elements that containt id="myID"
.each(function(){ // iterate through all children
$(this).removeAttr("class"); // remove class attribute from each child
});
console.log($("#myID").html());