3

html:

<div style="width: 260px;margin:25px 0 0 30px">
<input type="checkbox"  name="send_email" class="delete_followup" />Send email alerts
<input type="checkbox" value="delete" type="checkbox" />Send SMS alerts <button type="submit" name="delete" value="{{follower.id}}" class="delete_follower">Delete</button>
</div>

js:

$(".delete_followup").click(function(){
var $this = $(this);
$(this).find(".delete_follower").show();           
});

クラスをクリックすると非表示のボタンを表示したいのですが、上記のdelete_followupjQueryで試しましたが、機能しません。

4

4 に答える 4

1

delete_follower要素は要素の子孫ではなく、delete_followup兄弟要素であるため、代わりにfind()使用する必要がありますsiblings()

$(".delete_followup").click(function(){
    var $this = $(this);
    $this.siblings(".delete_follower").show();           
});
于 2013-09-03T16:47:18.213 に答える
1

または試してください.nextAll

$(this).nextAll(".delete_follower").show();

ここでの作業: http://jsfiddle.net/tw5XK/

于 2013-09-03T16:49:18.413 に答える
1

必要な要素への参照が既にある場合、div を下方向に検索しようとしています。必要以上に複雑にしています(笑)

$(".delete_followup").click(function(){
   $(this).show();           
});

クリック イベントをトリガーすると、クリックされた実際の要素が関数のスコープとして渡されます。「.delete_followup」のクリックをトリガーしているため、その div が要素スコープです。

于 2013-09-03T17:00:10.473 に答える
1

これを試して:

$(".delete_followup").click(function () {
    if (this.checked) {
        $(this).siblings(".delete_follower").show();
    } else {
        $(this).siblings(".delete_follower").hide();
    }
});

デモはこちら

于 2013-09-03T16:50:33.460 に答える