3

私のデザインを適用できるように、すべてのジャンク コードを削除しようとして頭がおかしくなっている 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>
4

4 に答える 4

5

これを試してください(前回のデモ用に更新されました)(ポインターを提供してくれたFabrícioに感謝します):

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

これにより、 の子ノードのみのインライン スタイル属性が<div id="myID">すべて削除され、他のすべてはそのまま残ります (これらのノードのクラスを削除すると、スタイリング以外の効果が生じる可能性があります)。<div id="myID">CSS リセットなどの子ノードにのみ適用される CSS を定義できます。それは次のようになります。

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

すべての css を削除するには、すべての属性style classid属性を削除する必要があると思います。

これは私のデモです

この Javascript は style 属性とクラスを削除します

$("#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 に答える