私はこのようなものを持っています
<div id="div1">
<span class="label">some text</span>
</div>
<div id="div2">
<span class="label">some text</span>
</div>
idを介して、次にクラスを介して特定のスパンを選択したいと思います。#div1.label
またはのようなものです#div2.span
が、この方法は機能しません。どうすればいいですか?
私はこのようなものを持っています
<div id="div1">
<span class="label">some text</span>
</div>
<div id="div2">
<span class="label">some text</span>
</div>
idを介して、次にクラスを介して特定のスパンを選択したいと思います。#div1.label
またはのようなものです#div2.span
が、この方法は機能しません。どうすればいいですか?
スペースを使用して、要素が子であることを示します。
$('#div1 .label');
$('#div2 span');
$('#div2 span.label');
#div1.label
IDdiv1とラベルのクラスを持つ要素を選択します。
あなたができる
$("#div1 span.label")
使用する場合は、実際にはIDを持ち、クラスを持つ#div1.label
要素を選択しています。div1
label
あなたはほとんどそれを持っています:
$("#div1 .label");
特定の祖先の子孫であるすべての要素を選択します。
より具体的にすることもできます。
$("#div1 > .label");
「親」で指定された要素の「子」で指定されたすべての直接子要素を選択します。
とする必要が$('#div1 .label')
あり$('#div2 span')
ます。別の使用スペースが必要です
#div1.labelまたは#div2.span
あなたはそれを間違って考えています、あなたがつかんでいるあなたのセレクターで、 div1のクラスを持つdiv1のID 。ラベル。(これは、HTMLの構造や、探しているものではありません)
これらは次のようになります。
$('#div1 .label');
$('#div2 .label');
間にあるスペースは、子要素を検索するという点でCSS構文と同じです。この場合、ラベルのクラスが必要です(さらに具体的にするためにspan.labelを挿入することもできます)。
より曖昧にし、すべてのdivをspan.labelでキャプチャしたい場合は、次のように実行できます。
$('div span.label'); // this would capture all of them
$('div[id^="div"] span.label'); // assuming they all start with the ID "div" then a #
この単純なコードは私のために働いた$('#prettyId > label');