JavaScript では、要素を作成および参照し、この要素を通じて属性を取得または設定できます。ただし、要素の属性は、スクリプトで使用される属性に対応しません。比較的遠い属性であるため、Google ですら対応する script 属性を見つけるのが困難です。今日、この問題に遭遇しました。ラベルをクリックするとチェック ボックスも選択できるように、チェック ボックスに対応するラベルを作成する必要があります。これは、次のコードのような非常に一般的なテクニックです:
は、単語「Top」ボックスをクリックしたときにチェック ボックスをオンにすることができます。
通常の状況では、このコードはファイルに直接書き込まれるため、簡単に完了できます。スクリプトで作成する必要がある場合、通常、スクリプトの属性とタグに記述されている属性は同じです。たとえば、リンク タグ a のターゲット属性 href は一致しています。ただし、for は JavaScript の予約語であるため、属性として使用できません。長い間ネットで検索しましたが、for に対応する script 属性が見つからなかったので、label 属性に対応する script 属性を見つけるために次の方法を思いつきました。次に、for に対応する script 属性を見てみましょう。ラベルの属性の例:
原理は、まずドキュメントに HTML タグを書き込み、次に属性に一意の値を割り当てます。この例では、属性のコピー「abcd」を探しています。次に、JavaScript を介してこの要素を参照し、属性の値が abcd と等しい場合は、この属性の名前を調べます。は、対応するスクリプト属性と考えることができます。この方法を通じて、ラベルの for 属性に対応する script 属性は htmlFor でなければならないことがわかりました。ふふ、やはり変ですね。同様の方法を使用して CSS スクリプトのプロパティを見つけることもできます。
<script> <BR> var lbl=document.getElementById("lblTest"); <BR> for(var p in lbl){ <BR> var s=eval("lbl."+p); <BR> if(s=="abcd")alert(p); <BR> } <BR></script>