0

関数を定義するとき、関数が引数として渡される HTML 要素を取得するか、getElementById代わりに使用するかをどのように決定しますか? 一方の方法は他方の方法より速いですか? 引数として渡されるものがあると再利用性が向上することは知っていますが、関数が別のコードで使用されるかどうかを確認するのが難しい場合があります。

使用する代わりに明確にするために、getElementByIdこのようなものがあります<input type="text" name="colour" onkeyup="myFunction(this.value)" />

4

3 に答える 3

2

柔軟にするために、次のいずれかを取ることができる関数を作成できます。

 function whatever( element ) {
   if (typeof element === 'string')
     element = document.getElementById( element );
   // ... do stuff ...
 }
于 2013-02-14T20:13:22.890 に答える
2

関数を呼び出す前に getElementById を呼び出して結果を渡しても、関数内から渡しても、機能的に大きな違いはありません。要素を関数に渡すことにより、追加の柔軟性が少しあります。これは、他のセレクター (id だけでなく) を使用して要素を見つけることもできるためです。

于 2013-02-14T20:14:39.883 に答える
0

IDではなく、常にオブジェクトを渡します。オブジェクトを渡すことはあなたに本を与えるようなものです。IDを渡すと、本の名前が表示され、その本を図書館に戻し、見つけるように求められます。

毎回要素を検索する理由はありません。

于 2013-02-14T20:11:48.960 に答える