0

私はjQueryの初心者です。

オンザフライで生成され、ページに追加される以下のようなhtmlコードがあります。


<div class="outstandingcallback">
<span>a</span>
<span>b</span>
</div>
<div class="outstandingcallback">
<span>c</span>
<span>d</span>
</div>
    ......

もう一方をクリックすると、そのうちの 1 つを非表示にする必要があります。次のjQueryを使用しましたが、div要素を非表示にする方法がわかりません。


    $('.outstandingcallback').bind('click', function () {
                var selectdCallItemID = $(".callItemID", this).html();


                var myHtmlCode = $('#CallBacks').html();

                $('' + myHtmlCode + '').find('div').each(function () {
                    var thisCallID = $(".callItemID", this).html();

                    if (thisCallID == selectdCallItemID ) {
                        alert("test");
                        $('' + myHtmlCode + '').find(this).hide();
                    }
                });
            });

次の部分がよくわかりません。


    $('' + myHtmlCode + '').find(this).hide();
4

5 に答える 5

1

このようなものを試してみてください、フィドル

 $('.outstandingcallback').bind('click', function () {
     $('.outstandingcallback').hide(); 
     $(this).show(); 
});
于 2013-04-01T09:42:55.780 に答える
1

.siblings()同じレベルで他の要素を見つけるために使用できます。

which is generated on the fly and added to my pageイベントを使用.onして最も近い既存の親に委任するため、またはdocument

 $(document).on('click', '.outstandingcallback', function () {
    $(this).siblings('.outstandingcallback').hide();
 });
于 2013-04-01T09:36:14.610 に答える
0
if($(".outstandingcallback:first").click()) {
    $(".outstandingcallback:first").show();
    $(".outstandingcallback:last").hide();
} else if ($(".outstandingcallback:last").click()) {
    $(".outstandingcallback:first").hide();
    $(".outstandingcallback:last").show();
} 
于 2013-04-01T09:34:12.947 に答える
0

クリックされていないdivを単純に非表示にするには、これだけが必要です:

 $(function(){
    $('.outstandingcallback').on('click', function () {
        $(this).siblings().hide();
    });
})
于 2013-04-01T09:56:12.660 に答える