запуск функции щелчком по тегу привязки и получение всех его дочерних элементов

#javascript #html #jquery

#javascript #HTML #jquery

Вопрос:

Я пытаюсь создать чат, похожий на instagram, для появления потоков у меня есть серия divs, обернутых вокруг тегов привязки.

 <ul id="Threadbox">
            
<li>
     <a class="thread" href="javascript:get_messages(atag)">//"atag" refers to the current anchor tag element
          <div>
               <a href="/inbox/dummy">dummy</a>
               <p>Doing great man</p>
         </div>
     </a>
</li>
<li>
     <a class="thread" href="javascript:get_messages(atag)"> //"atag" refers to the current anchor tag element
           <div>
               <a href="/inbox/sufyan">sufyan</a>
               <p>Hello</p>
          </div>
    </a>
</li>
  

Все это генерируется с помощью javascript, то, что я хочу сделать, это запускать функцию при каждом нажатии на этот основной тег привязки, который извлекает все дочерние элементы тега привязки, но когда я пытаюсь это сделать, он выдает мне только тег привязки, а не его дочерние узлы
Ниже приведен используемый сценарий js

 var threads={{ Threads|safe }}
    var messages={{ Messages|safe }}
    const l=threads.length
    const threadholder=document.querySelector("#Threadbox")
    for(i=0;i<=l;i  ){
        var thread=document.createElement("li")
        var main=document.createElement("a")
        
        var div=document.createElement("div")
        var a=document.createElement("a")
        main.className="thread"
        var data=JSON.parse(threads[i])
        var Message=JSON.parse(messages[i])
        var username =data.second.username
        if (username=="{{ user.username }}"){
            username=data.first.username
        }
   var p=document.createElement("p")
        
   p.innerText=Message.message
   a.href= `/inbox/${username}`
   a.innerText=username
   div.appendChild(a)
   div.appendChild(p)
   main.appendChild(div)
   thread.appendChild(main)
   threadholder.appendChild(thread)
   main.href="javascript:" "get_messages(main)"

};
function get_messages(a){
   console.log(a.children)
}
  

Такое чувство, что я делаю что-то не так, любая помощь будет высоко оценена.

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

1. где get_messages().. функция, а где дочерний узел?

2. извиняюсь, забыл добавить get_messages(), а дочерние узлы — это то, что дочерние элементы основных переменных состоят в том, что элемент div и div имеют два дочерних элемента другого тега привязки и тега p . как определено с помощью метода appendchild.

3. Используйте валидатор! . Вложенные <a> элементы запрещены.

4. Не могли бы вы уточнить? @Quentin Я не понимаю, как это реализовать.