0

特定のクラスの div をトラバースするために jQueryのメソッドの代わりに、.siblings()別の div コンテナーで何を使用すればよいでしょうか?このようなものが機能するには:

HTML:

<div id="container1">
   <div id="1"></div>
</div> 

<div id="container2">
   <div id="2"></div>
</div> 

JS:

$('#1').addClass('selected');

$('.selected').on('click',function() {
    alert('hi');
});

$('#2').addClass('selectable');

$('.selectable').on('click',function() {
   $(this).addClass('selected')
          .removeClass('selectable')
          .siblings('.selected')
          .off('click');
});
4

2 に答える 2

1

これが役立つかもしれません:

$('.selectable').on('click',function() {
   $(this).addClass('selected')
          .removeClass('selectable')
          .parent()
          .siblings()
          .children()
          .off('click');
 });
于 2013-03-20T11:29:21.460 に答える
1

これを別の方法でコーディングします。

編集:

$('#1').addClass('selected');
$('#2').addClass('selectable');

var $outerContainer = $('#container1').parent();
$outerContainer.on('click','.selected,.selectable', function(event) {
    if ($(event.target).is(".selected")) {
        alert('hi');
    } else {        // .selectable
        $('.selected', $outerContainer)
            .removeClass('selected')
            .addClass('selectable');
        $(event.target)
            .addClass('selected')
            .removeClass('selectable');
    }
});

ここにjsfiddleへのリンクがあります

于 2013-03-20T11:25:12.380 に答える