インラインスタイルの代わりにCSSクラスを使用します
DOM要素をスタイル化する場合、インラインスタイルの代わりにCSSクラスを使用することをお勧めします。 CSSクラスは簡単に変更および再利用できますが、インラインスタイルの管理とメンテナンスは困難です。たとえば、
書く代わりに:
document.getElementById('button').style.backgroundColor = 'red';
.button-style { background-color: red; }
let cardButton = document.getElementById('button'); cardButton.classList.add('button-style');
セレクターキャッシュは、DOM操作コードの効率を向上させることができます。セレクターを保存する結果は、再利用する変数になり、DOMの繰り返しクエリを避けます。
たとえば、書く代わりに:
これはより良いです:
document.querySelector('#button').addEventListener('click', function() { // do something }); document.querySelector('#button').className = "enabled";
const myButton = document.querySelector('#button'); myButton.addEventListener('click', function() { // do something }); myButton.className = "enabled";
ここでは、各ボタンにクリックイベントを追加する代わりに、親コンテナにクリックイベントを追加します。ハンドラーのイベントでは、CSSセレクターに基づいて要素を選択するには、、または
メソッドを使用します。
getElementById
querySelector
getElementsByClassName
の使用は避けてください
innerHTML
DOMおよびHTML要素を操作するのは簡単ですが、セキュリティリスクがあり、クロスサイトスクリプティング(XSS)攻撃に対して脆弱です。さらに、HTMLコンテンツを動的に更新する場合、は他のメソッドよりも遅くなります。これは、ブラウザが要素のHTMLコンテンツ全体を解析およびレンダリングする必要があるためです。
代替方法には次のものが含まれます:innerHTML
、innerHTML
。
textContent
appendChild()
const newText = document.createElement('p'); const parentElement = document.getElementById('heading'); parentElement.appendChild(newText);
書く代わりに:
これはより良いです:
別の例:
document.querySelector('#parent .child');
const parent = document.querySelector('#parent'); const child = parent.querySelector('.child');
dom操作の数を制限
// 不佳实践 let menuHead = document.querySelector('header > nav > ul.menu'); // 良好实践 let menuHead = document.querySelector('.menu');
結論
高速でユーザーに精通したWebアプリケーションを作成するには、効率的なDOM操作が不可欠です。 DOMの変更の数を減らしたり、イベントデリゲートを使用したりするなど、ベストプラクティスに従うことで、コードをスピードアップしてパフォーマンスの問題のリスクを減らすことができます。 また、コードをテストおよび評価して問題を発見および修正することも重要です。
以上がJavaScriptでの効率的なDOM操作のためのベストプラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。