2

最近 HTML をいじっていて、質問があります。

要素の id を別の要素の子としてスコープする方法はありますか? 説明するのは難しいですが、ここに例を示します。

<body>
  <div id="a">
    <div id="inner"></div>
  </div>
  <div id="b">
    <div id="inner"></div>
  </div> 
</body>

これが合法かどうかはわかりませんが(「inner」が2回宣言されているため)、問題は次のとおりです。

独自のスタイルと固定配置 (Windows 8 メトロのようなもの) を持つ正方形の div でいっぱいの Web ページがあるとします。特定の正方形のすべてのコンポーネントをその正方形にグループ化し、JavaScript を使用してフォーカスできるようにしたいと考えています。たとえば、疑似コードのスコープ内の要素について。

ClickMeButtonDiv.ClickMeButton.value = parseInt(ClickMeButton.value) + 1;

つまり、div のすべての子をその div にグループ化できるかどうかを知りたいのです。1 つのページに 100 個の正方形があり、独自の処理を行っている場合、ID ですべての要素をグローバル スコープにバインドしておくのは頭痛の種だからです。 ...

これを達成する方法はありますか?

お早めにどうぞ!

4

2 に答える 2

4

一意でない ID を持つことはできません。classただし、プロパティを使用できます。JQueryid="inner"class="inner"使用している場合は、子セレクターを使用してみてください。例えば:

$("#a > .inner");

jQueryなし

document.getElementById('a').getElementsByClassName('inner')[0];
于 2013-04-26T09:30:39.273 に答える
2

id一意である必要があります。あなたが説明するグループ化の問題は、クラスを使用して最もよく解決されます。

  <div id="a">
    <div class="inner"></div>
  </div>
  <div id="b">
    <div class="inner"></div>
  </div> 

要素から値を読み取りたい場合は、クラスごとに要素を選択できるjQueryinnerを使用することを強くお勧めします。

<div id="a">
  <input type="text" class="inner" value="1" />
</div>
<div id="b">      
  <input type="text" class="inner" value="2" />
</div> 

JS:

$('#a input.inner').val(); // == 1
$('#b input.inner').val(); // == 2
于 2013-04-26T09:35:49.127 に答える