JSFiddle - React, Tailwind, and code Playground
HTML
<div class="idea__comment" data-commentid="%id%">
<div class="comment__user">
<div class="comment__username" data-userid="%user_id%">
<a href="/user/%user_id%">%firstname% %lastname%</a>
</div>
<div class="comment__date">Добавлено: <!-- DATE --></div>
<div class="clear"></div>
</div>
<figure class="comment__avatar">
<img src="/i/noimage.jpg" class="img-responsive">
</figure>
<div class="comment__content">
<!-- COMMENT TEXT -->
</div>
<div class="clear"></div>
<div class="comment__panel">
<button class="comment__btn comment__btn-cite">Цитировать</button>
</div>
<div class="clear"></div>
</div>
JavaScript
window.onload = function ()
{
let citeBtn = document.querySelectorAll('.idea__comment');
for (let i = 0; i < citeBtn.length; i++) {
citeBtn[i].onclick = citeComment;
}
};
function citeComment()
{
let cite = this.parentElement;
let data = {
userId: cite.dataset.userid,
commentId: cite.dataset.commentid,
};
let i = 0;
while (i < 5)
{
cite = cite.previousElementSibling;
if (cite.classList.contains('comment__content'))
{
data['text'] = cite.innerText;
}
else if (cite.classList.contains('comment__user'))
{
data['date'] = cite.children[1].innerText;
}
i++;
}
console.log(data);
}