Используя “это” с Селекторами jQuery

У меня есть некоторый HTML, который похож на это:

<ul class="faq">
    <li class="open">
        <a class="question" href="">This is my question?</a>
        <p>Of course you can, it will be awesome. </p>
    </li>
</ul>

Используя CSS я устанавливаю тег 'p' на display:none;. Я хочу использовать jQuery, чтобы отобразить или скрыть тег 'p', когда привязка нажата, но я испытываю некоторые затруднения из-за одноуровневого селектора.

Просто пытаясь получить селекторную работу, я попробовал:

$("a.question").click(function () {
    $(this + " ~ p").css("background-color", "red");
});

проверять его. По-видимому одноуровневый селектор не может действительно использоваться как этот, и поскольку я абсолютно плохо знаком с jQuery, я не знаю соответствующие средства заставить это произойти.

Заранее спасибо!

24
задан TylerH 18 October 2019 в 08:22
поделиться

3 ответа

Использование попытки:

$(this).siblings('p').css()
37
ответ дан 28 November 2019 в 22:51
поделиться
$(this).next("p").css("...")

"p" выше является дополнительным, если Вы просто хотите следующий непробельный узел в DOM.

14
ответ дан 28 November 2019 в 22:51
поделиться

я хочу использовать jQuery, чтобы отобразить или скрыть тег 'p', когда привязка нажата

Since, Вы упомянули, что требуется переключить тег 'p', когда привязка нажата, я сделал бы:

  $("a.question").click(function (event) {
      $(this).siblings('p').show(); //toggle the p tags that are siblings to the clicked element
      event.preventDefault(); //stop the browser from following the link
  });      
7
ответ дан 28 November 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: