[解決済み] htmlページのIDはいくつまでならOKですか?
2022-02-13 06:18:46
質問事項
Single Page Appを制作しているのですが、より具体的なテストを書くために、ページの各セクションにIDを記入した方が良いのではないか、という話をQA担当者としています。
1 つの html ページに常に存在できる ID の数について、"best practice" または既知の制限があるかどうかを知りたいと思いました。
一度に何百という数になる可能性があります。ブラウザが肥大化するのでは?
(この質問をするのに良い場所があれば教えてください)
解決方法を教えてください。
ここでは、DOMから1つの要素を取得しています。次に、DOMに5000個の要素をidで追加し、1000個目の要素を選択しています。このように、5000個というのはブラウザにとっては簡単なことなので、どんなページでも十分すぎるくらいだと言えるでしょう。この数字で遊んでみて、どこでパフォーマンスが低下し始めるか、あるいはスタイルのないスパンの山ほどある DOM をより複雑なものにするか、自由に判断してください。
let start = performance.now();
let div = document.getElementById('single');
console.log(performance.now() - start);
for (let i = 0; i < 5000; i++) {
let span = document.createElement('span');
span.id = 'test_' + i;
span.innerText = i + ' ';
document.body.appendChild(span);
}
start = performance.now();
div = document.getElementById('test_1000');
console.log(performance.now() - start);
console.log(div.innerText);
<div id="single"></div>
IEで動くようにアップデートしたら、やっぱりサブミリ秒になった。
関連
-
[解決済み】Angular JS Uncaught Error。[インジェクター:モジュラー]。
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み】Javascriptのコールバック関数がFirefoxで「Callback is not a function」というエラーを投げる
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。