微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 选择一个元素和它的兄弟姐妹

切换元素及其兄弟姐妹可以如下完成:
$(this).toggle();
$(this).prev().toggle();

结合它们不起作用:

$(this,$(this).prev()).toggle();

如何同时选择两者?

解决方法

顺便提一句,虽然这个问题已经是 answered by drinchev,但是我以为我会粘贴这个刚刚做的快速实验,在阅读这个问题之后,这也是有效的.虽然…它让我惊讶:
$('#recipient').click(
    function(){
        var pair = [this,this.prevIoUsElementSibling];
        $(pair).toggleClass('red green');
    });​

JS Fiddle demo.

顺便说一句,JS Perf loose comparison of the two selector approaches.

编辑添加IE-(据我所知) – 友好地更新,尽管我目前正在使用它所有的浏览器,而不是特征检测(也是,我终于意识到蓝色!=绿色):

function pESibling(n){
    var nPS = n.prevIoUsSibling;
    if (!n || nPS === null){
        return false;
    }
    else if (nPS.nodeType == 1){
        return nPS;
    }
    else {
        return pESibling(nPS);
    }
}

var that = document.getElementById('recipient'),pair = [that,pESibling(that)];
$(pair).toggleClass('red green');
console.log(pair);
​

JS Fiddle demo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐