首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.siblings()的替代方法

.siblings()的替代方法
EN

Stack Overflow用户
提问于 2013-03-20 19:13:53
回答 2查看 1.1K关注 0票数 0

在jQuery中,为了在单独的div容器中遍历特定类的div,我应该使用什么替代.siblings()方法呢?

HTML:

代码语言:javascript
复制
<div id="container1">
   <div id="1"></div>
</div> 

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

JS:

代码语言:javascript
复制
$('#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');
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-20 19:29:21

这可能会有所帮助:

代码语言:javascript
复制
$('.selectable').on('click',function() {
   $(this).addClass('selected')
          .removeClass('selectable')
          .parent()
          .siblings()
          .children()
          .off('click');
 });
票数 1
EN

Stack Overflow用户

发布于 2013-03-20 19:25:12

我会用一种不同的方式来编码:

编辑:

代码语言:javascript
复制
$('#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');
    }
});

这是一个

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15521939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档