Показать сообщение отдельно
  #4 (permalink)  
Старый 17.11.2022, 20:37
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,775

Попробуйте так.
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
    a.answ{
    cursor: pointer;
    font-weight: bold;
    color: navy;
    }
    a.answ:hover{
    color: crimson;
    }
    .hid{
    display: none;
    }
    </style>
  </head>
  <body>
    <template id="tpl">
      <form>
       <textarea name="message"></textarea>
       <input type="hidden" name="question_number" value="" />
       <input type="submit" name="submit_otv" value="Отправить" />
      </form>
    </template> 
    <div class="question">
    <p id="q1">Вопрос 1</p>
    <p><a class="answ">Ответ</a></p>
    </div>
    <div class="question">
    <p id="q2">Вопрос 2</p>
    <p><a class="answ">Ответ</a></p>
    </div>
    <div class="question">
    <p id="q3">Вопрос 3</p>
    <p><a class="answ">Ответ</a></p>
    </div>
    <div class="question">
    <p id="q4">Вопрос 4</p>
    <p><a class="answ">Ответ</a></p>
    </div>
    <div class="question">
    <p id="q5">Вопрос 5</p>
    <p><a class="answ">Ответ</a></p>
    </div>
   <script>
   [...document.querySelectorAll('.question')].forEach(function(z){
   z.addEventListener('click', function(e){
   elem = e.target;
   if(elem.className == 'answ'){
   document.querySelector('[name="question_number"]')?.closest('p').querySelector('a').classList.remove('hid');
   document.querySelector('[name="question_number"]')?.closest('form').remove();
   const cln = document.querySelector('#tpl').content.cloneNode(true),
         whereTo = elem.closest('p');
          
         cln.querySelector('[name="question_number"]').value = elem.closest('div').querySelector('p').id;
         whereTo.append(cln);
         elem.classList.add('hid');
   }
   });
   });
   </script>
  </body>
</html>


Может быть и сработает. Надо посмотреть, что там jquery сделает со скриптом при вставке $('#men').html(responce);
Ответить с цитированием