-1

私は次のhtmlを持っています:

<ul id="tree3" class="checkboxTree[1] checkboxTree">
 <li class="collapsed">
 <li class="collapsed">
 <li class="collapsed">
 <li class="collapsed">
 <li class="collapsed">
 <span>
 <input class="checktree" type="checkbox" value="19" fullname="MyName">

チェックボックスの変更イベントをキャプチャしようとしています。これはうまくいきます:

$(".checktree").change(function () {
    UpdateSelectedList();
});

しかし、ページに複数の「.checktree」があるため、スコープを設定する必要があります。私はこれをやってみました:

$("#tree3 > .checktree").change(function () {
    UpdateSelectedList();
});

またはこれ:

$("ul#tree3 > .checktree").change(function () {
    UpdateSelectedList();
});

しかし、彼らは発砲していないようでした。誰かが上記のセレクターの何が問題なのかを提案できますか?

4

1 に答える 1

2

>セレクターの要素は、の子を意味します。your.checktreeは の直接の子ではないため、#tree3機能していません。完全一致が必要な場合は#tree3 .checktreeorを試してください。#tree3 > li > span > .checktree

jQuery子セレクターjQuery子孫セレクター

于 2012-04-06T05:33:02.427 に答える