切换元素及其兄弟姐妹可以如下完成:
$(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 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);