Как выбрать родителя элемента, а не этого родительского дочернего элемента с идентификатором / классом по щелчку?

#javascript #html

#javascript #HTML

Вопрос:

Я пытаюсь создать раздел комментариев, который будет отображаться при нажатии кнопки, но в каждом разделе комментариев в каждом сообщении есть одинаковый id / class . И я пытаюсь выбрать родительский элемент, на который нажимается, чем у этого родительского дочернего элемента с id помощью / class .

 function ShowComments(str, item) {
  if (item.innerHTML == "") {
    console.log("Show");
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 amp;amp; this.status == 200) {
        item.innerHTML = this.responseText;
      }
    };
    xmlhttp.open("GET", "getcomments.php?q="   str, true);
    xmlhttp.send();
  } else {
    item.innerHTML = "";
  }
} 
 <div>
  <button style="font-size: 20px;float: right;" onclick="ShowComments(' .$row['id'].', this > 
    div.comments)">Comments</button><br>
  <div class="comments" style="font-size: 20px; float: left; border-style: solid; border-width: 
    0.5px;"></div>
</div> 

Комментарии:

1. id значения не должны повторяться на веб-странице. Чтобы получить родительский элемент любого элемента, просто откройте .parentElement свойство элемента, с которого вы хотите начать.

2. в вашем фрагменте есть синтаксическая ошибка

Ответ №1:

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

 function myfunction(e){
  console.log(e.parentNode.classList.value)
} 
   <div class="myclass">
  <button onclick="myfunction(this)">button</button>
  </div>