3

我有一个共享点站点,它让我发疯,试图删除所有垃圾代码,以便我可以应用我的设计。我很好奇 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>
4

4 回答 4

5

试试这个(更新最后一次演示)(感谢 Fabrício 的指针):

$('#myID [style]').removeAttr('style');

这将剥离 的唯一子节点的任何内联样式属性<div id="myID">,并保持其他所有内容不变(删除这些节点上的类可能会产生除样式之外的其他效果)。您可以定义一些仅适用于子节点的CSS,<div id="myID">例如 CSS 重置。这可能看起来像这样:

#myID * {
  border: thin red solid;
}
于 2013-01-19T00:07:56.450 回答
1

要剥离所有的 css,我认为你必须删除所有的style classid属性。

这是我的演示

此 Javascript 删除样式属性和类

$("#myID *").removeAttr("style");
$("#myID *").each(function(){
    $(this).removeClass($(this).attr("class"));
});
于 2013-01-19T00:18:37.057 回答
0

尝试 :

$('#myID').find('*').attr('class', '');
于 2013-01-19T00:08:14.800 回答
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());
于 2020-04-27T14:41:22.483 回答