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