#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>