ホームページ > ウェブフロントエンド > jsチュートリアル > IE のみが clearAttributes/mergeAttributes メソッドの使用法をサポートしています。

IE のみが clearAttributes/mergeAttributes メソッドの使用法をサポートしています。

WBOY
リリース: 2016-05-16 17:53:50
オリジナル
1530 人が閲覧しました

1. .clearAttributes()

このメソッドは、すべてのユーザー定義属性をクリアするために使用されます。次のように

コードをコピーします コードは次のとおりです:

部門

<script> <br>var div = document.getElementsByTagName ('div') [0]; <br>alert(div.outerHTML); <br></script> 🎜>
実行後、次のポップアップが表示されます


ご覧のとおり、2 番目のアラートによって生成された externalHTML には、「data-a」、「data-b」、および「onclick=alert(1)」属性がなくなりました。最初の 2 つの属性はカスタマイズされていますが、onclick は独自のものですが、これもクリアされます。

outerHTML はクリアされますが、実際にはイベントはクリアされません。 div をクリックすると、依然としてポップアップ 1 が表示されます。 (注: id、name、style などの要素の free 属性はクリアされません)

上記で、outerHTML では onclick 属性が削除されても、イベント ハンドラーは削除されず、クリックは引き続き実行できることがわかります。引き起こされた。では、attachEvent を通じて追加されたイベントはクリアできるのでしょうか? 試してみればわかります





コードをコピー

コードは次のとおりです: <script> </div>var div = document.getElementsByTagName('div')[0]; <div class="codebody" id="code89165">div.attachEvent('onclick', function(){alert(1) }); <br>div.clearAttributes(); <br></script>


IE6/7/8 では div をクリックしてもポップアップしないことがわかりました。 IE9 でも引き続き表示されます。つまり、attachEvent によって追加されたイベント ハンドラーは、IE9 の clearAttributes を通じてクリアすることはできません。

2. .mergeAttributes()

このメソッドは、属性、イベント、スタイルなど、指定された要素のすべての属性をそれ自体にコピーするために使用されます。次のように




コードをコピーします
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート