Переключение элемента и его братьев и сестер может выполняться как:
$(this).toggle();
$(this).prev().toggle();
Сочетание их не работает:
$(this,$(this).prev()).toggle();
Как оба варианта могут быть выбраны одновременно?
Ответ 1
Кстати, хотя этот вопрос уже был ответил drinnhev, я подумал, что я вставлю этот быстрый эксперимент, который я только что сделал, после прочтения вопроса, который также работает, Хотя... это меня удивило, когда это произошло:
$('#recipient').click(
function(){
var pair = [this, this.previousElementSibling];
$(pair).toggleClass('red green');
});
Отредактировано, чтобы добавить 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);