1

私は 2 つの JavaScript プログラムを持っています。1 つは以前の会社で使用していたもので、もう 1 つはサイトで見つけたばかりです。今日、同僚がプログラムでこれらの両方の標準を使用していることに気付きました。製品を完成させる前に、すべてを 1 つの標準コードに変更する必要があります。

<script type="text/javascript">
   // Reference the textbox
   var txt = document.getElementById("<%=txtName.ClientID%>");

   // If the textbox was found, call its focus function
   if (txt != null)
      txt.focus();
</script> 

また

<script type="text/javascript">
   // Reference the textbox and call its focus function
   var txt = $("#txtName");

   txt.focus();
</script> 

あなたがそのような状況にある場合、どれを提案しますか?なぜですか?

4

4 に答える 4

2

1 つ目はプレーンな JS で、2 つ目は jQuery ラッピングを使用しています。JS フレームワークとして jQuery を採用している場合は、2 番目のオプションの方が適しています :)。この特定のケースの2番目は、その変数がnullかどうかをテストする必要がないため、より優れています(jQuery要素のフォーカス関数を呼び出しているため、要素がDOM上にあるかどうかを確認する必要があります)か否か)

于 2011-04-05T17:11:04.057 に答える
1

2 つ目は jquery を使用しているため、そのライブラリに依存していますが、非常に読みやすいです。もっと短く書くこともできます:$("#txtName").focus();

前者の方が高速ですが、大局的に見れば、この違いはそれほど重要ではありませんが、jQuery を使用した方がコードの記述と読み取りが簡単です。

于 2011-04-05T17:12:27.213 に答える
1

チームで作業している場合はtxtName.ClientID、同僚にとってより明確な意味を持つ可能性があります。同僚から毎日何行ものコードを読まなければならないので、私はそれを選びます。
または、両方の長所を生かして、次のようなものを使用します。$("#<%=txtName.ClientID%>").focus()

于 2011-04-05T17:17:09.327 に答える
1

stecb が言ったように、1 つ目はプレーンな JavaScript コードで、2 つ目はある種の JS ライブラリ (ほとんどの場合 jQuery) です。ライブラリをロードしている場合、プロジェクト全体でライブラリを使用することは理にかなっていますが、ここでは正しいまたは間違ったアプローチはありません。プレーンな JavaScript を使用することによる潜在的なパフォーマンスの向上は、最新のシステムでの基本的な使用では無視できます。

すべての URL / ページが JS ライブラリをロードするかどうかを確認する必要があります。開発者が一部のページで特定のライブラリのみをロードすることがあるため、ライブラリを含めない限り、ライブラリを使用できなくなります。

于 2011-04-05T17:17:27.547 に答える