@ishimskayamahorka14

Как сделать, чтобы код применялся ко всем элементам на странице?

Как сделать, чтобы скрипт применялся не только к первым в DOM-структуре классам?
<p class="tmnl-p">Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст</p>
<a class="show-text">Кляц!</a>

<p class="tmnl-p">Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст</p>
<a class="show-text">Кляц!</a>

<p class="tmnl-p">Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст Какой-то текст</p>
<a class="show-text">Кляц!</a>

.hide-before {
  height: unset !important;
}
.tmnl-p {
  height: 35px;
  overflow: hidden;
}
.show-text {
background: yellow;
display: block;
width: 30%;
text-align: center;
cursor: pointer;
}
jQuery(document).ready(function($) {
  var showText = document.querySelector('.show-text');
	if (showText) {
	showText.addEventListener('click', () => {
	var seoText = document.querySelector('.tmnl-p');
	if (seoText) {
	seoText.classList.toggle('hide-before'); 
      }
    }); 
  }
  });
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
hzzzzl
@hzzzzl
for (const showText of document.querySelectorAll('.show-text')) {
    showText.addEventListener('click', () => {
      var seoText = document.querySelector('.tmnl-p');   
      if (seoText) {
        seoText.classList.toggle('hide-before'); 
      }
    }); 
}


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

<div class="blah">
  <p class="tmnl-p">Какой-то текст </p>
  <a class="show-text">Кляц!</a>   <-- почему не button? -->
</div>


for (const showText of document.querySelectorAll('.show-text')) {
    showText.addEventListener('click', () => {
      var seoText = showText.parentNode.querySelector('.tmnl-p');    // тот который в одном блоке с кнопкой
      if (seoText) {
        seoText.classList.toggle('hide-before'); 
      }
    }); 
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 18:46
3000 руб./за проект
28 нояб. 2024, в 17:46
10000 руб./за проект
28 нояб. 2024, в 17:38
12000 руб./за проект