Как показать элемент по клику (jQuery)? - PullRequest
0 голосов
/ 25 сентября 2019

В приведенном ниже коде у меня есть 3 кнопки с содержанием под каждой.Когда я нажимаю кнопку, отображается содержимое всех кнопок.Я хочу показать только содержимое нажатой кнопки.

$(".item").click(function() {
  $(".d-text").show();
});
.d-text {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="item item1">button</button>
<p class="d-text">Dummy text</p>

<button class="item item2">button</button>
<p class="d-text">Dummy text</p>

<button class="item item3">button</button>
<p class="d-text">Dummy text</p>

Ответы [ 2 ]

3 голосов
/ 25 сентября 2019

Вы должны использовать .next()

$(this).next(".d-text").show();

Это покажет следующий p только после нажатия кнопки.

Демо

$(".item").click(function() {
  $(this).next(".d-text").show();
});
.d-text {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="item item1">button</button>
<p class="d-text">Dummy text</p>

<button class="item item2">button</button>
<p class="d-text">Dummy text</p>

<button class="item item3">button</button>
<p class="d-text">Dummy text</p>
0 голосов
/ 25 сентября 2019

Вам необходимо добавить определенный класс / идентификатор для каждого элемента p, чтобы вы могли связать вместе определенную кнопку с нужным текстом

https://jsfiddle.net/zdyw8ra4/

HTML:

<button class="item item1"data-target="#item1">button</button>
<p class="d-text"id="item1">Dummy text1</p>

<button class="item item2"data-target="#item2">button</button>
<p class="d-text" id="item2">Dummy text2</p>

<button class="item item3" data-target="#item3">button</button>
<p class="d-text"id="item3">Dummy text3</p>

JS:

$(".item").click(function() {
  $($(this).data('target')).toggle();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...