私はdiv内に3つの異なるulグループを持っています。ユーザーがli要素をクリックすると、id
とdata
の属性値を取得したいと考えています。ここに私のHTMLは次のとおりです。クリックすると、同じdivのli要素が表示されますか? JQuery/JavaScript
<div class="myMenu">
<div id="groupList1">
<fieldset>
<legend>Group 1</legend>
<ul>
<li>
<span id="gr1" data-code="GRVAL1">Test 1</span>
</li>
<li>
<span id="gr2" data-code="GRVAL2">Test 2</span>
</li>
</ul>
</fieldset>
</div>
<div id="groupList2">
<fieldset>
<legend>Group 2</legend>
<ul>
<li>
<span id="gr3" data-code="GRVAL3">Test 3</span>
</li>
<li>
<span id="gr4" data-code="GRVAL4">Test 4</span>
</li>
</ul>
</fieldset>
</div>
<div id="groupList3">
<fieldset>
<legend>Group 3</legend>
<ul>
<li>
<span id="gr5" data-code="GRVAL5">Test 5</span>
</li>
</ul>
</fieldset>
</div>
</div>
私はこれを試してみましたが、私はIDまたはデータ属性値を取得できませんでした:
$('.myMenu ul li').on('click', function(){
console.log($(this).prop('id'));
});
誰がIDまたはデータ値を返す方法を知っていれば聞かせてください私は知っている。前もって感謝します。
? – jdubjdub
'' prop( "id") 'の" id "の前後に引用符がない。また、 'id'と' data-code'属性は、 'li'自体にではなく、' li'に含まれる 'span'要素上にあるので、' span'にクリックハンドラを置くか、 '$(this).find( 'span')'を使って要素を取得します。 –
私はこれを試して、私のために働いています:$( '。myMenu ul li')on( 'click'、function(){ \t \t console.log($ this.find( 'span')。 ( 'id')+ '/' + $(this).find( 'span')。attr( 'data-code')); \t}); –