Я хотел бы скрыть все class = "csc-content", где предыдущий брат - это h4 class = "faq".
ОБНОВЛЕНИЕ Ошибка: я думаю, что это неправильно ... предыдущий брат не h4. Но я надеюсь, что вы уловили, что все «ответы» должны быть скрыты, если «вопрос» имеет класс «faq» / UPDATE.
Это HTML:
<div id="centerCol-1">
<div id="c65" class="csc-default normal">
<div class="csc-header csc-header-n1"><h4 class="faq">FAQ question1</h4></div>
<div class="csc-content active"><p class="bodytext">Answer1</p></div>
</div>
<div id="c67" class="csc-default normal">
<div class="csc-header csc-header-n2"><h4 class="faq">FAQ question2</h4></div>
<div class="csc-content active"><p class="bodytext">Answer2</p></div>
</div>
<div id="c68" class="csc-default normal">
<div class="csc-header csc-header-n3"><h4>not FAQ</h4></div>
<div class="csc-content active"><p class="bodytext">Not an answer, just normal content</p></div>
</div>
</div>
JQuery должен выглядеть примерно так:
// find all outer divs with class csc-default in the div centerCol-1
// test if they contain a header div with an h4 class faq
// go to next element and hide it. Error... this should be parents next element?
$("#centerCol-1 .csc-default").find("h4").is(".faq").next(".csc-content").hide();
BR . Андерс
3 ответа
Вам необходимо использовать смежный селектор вместе с : имеет селектор , например:
$('#centerCol-1 .csc-default .csc-header:has(.faq)+.csc-content').hide();
Подождите, вы хотите скрыть только div ответа для каждого вопроса FAQ? Итак, если h4
имеет класс .faq
, div сразу после родительского div будет скрыт:
$("#centerCol-1 h4.faq").parent().next("div").hide();
Попробуй это:
$("#centerCol-1 .csc-content").filter(function() {
return $(this).prev().find(".faq").length > 0;
}).hide();
Похожие вопросы
Новые вопросы
jquery
jQuery - это библиотека JavaScript, рассмотрите возможность добавления тега JavaScript. jQuery - это популярная кросс-браузерная библиотека JavaScript, которая облегчает прохождение Document Object Model (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться в рассматриваемом коде, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.