3

次のように、特定のリストに要素を追加したい HTML ページがあります。

<div id="list-of-divs">
<div id="name-specific-id">
// content
</div>

<div id="another-id">
//content
</div>
.
.
.
<div id="yet-another-id">
</div>

div今、そのリストに新しい s を追加したいと思います。たとえば、次のようにします。

<div id="new-option-panel">
<input id="first-textbox-id" type="text">
<input id="second-textbox-id" type=text">
<button>Add new option</button>

もちろん、追加は jQuery コードで行います。

私の質問は、HTML コードにそのような多くidの を追加し、jQuery コードでそれらに依存することは良い習慣ですか、それとも HTML と jQuery の両方にとって悪い習慣であり、jQuery コードで他の方法を見つける必要があります (たとえば、DOMトラバースについて)?

私が言いたいことの例として、idJavascriptの実行が遅くなる多くのものを追加しますか?

4

2 に答える 2

5

IDはクエリが高速ですが、維持するのが非常に面倒なので、「パフォーマンスヒット」を取得し、必要な場合にのみクラスとIDを使用してコードをより明確にします。あなたの例では、おそらくdivにIDを保持しますが、入力要素にはIDは必要ありません。単純なクラスは、jQueryとCSSの両方に対して機能するか、クラスがまったくない場合でも機能します。

于 2013-01-26T10:36:38.313 に答える
1

.getElementById()タグ セレクターが後に続く ID セレクターは、ネイティブおよび.getElementByTag()メソッドに直接マップされるため、最適なセレクターです。

DOM をトラバースするときは、常に最も近い親 Id から派生することをお勧めします。ほとんどの言語と同様に、特定のアプリケーションで考慮しなければならない可読性とパフォーマンスのトレードオフが常に存在します。

詳細については、これらのパフォーマンス ガイドラインをご覧ください

http://www.artzstudio.com/2009/04/jquery-performance-rules/

于 2013-01-26T10:44:05.273 に答える