django 如何在JavaScript中动态创建元素

lf5gs5x2  于 2022-12-14  发布在  Go
关注(0)|答案(1)|浏览(195)

我正在努力为我博客中的每个副标题(h2元素)动态创建标记,然后用副标题的文本填充这些标记。
这是我目前所尝试的:

<script>

            const subheadings = document.querySelectorAll("h2");
            subheadings.forEach(function(x) {
              document.getElementById("contents").innerHTML=x;
              <a href='#' id="contents"></a>
            });
              
</script>

这导致什么都没有出现。
任何帮助或建议,在哪个方向看是非常感谢。

编辑

我已将代码更新为响应中给出的答案。

<div class="col-3" id="contents-table">
          <script>

            const subheading = document.querySelectorAll('h2');
            subheading.forEach(function(x) {              
              let xbe = x.innerText.split(' ');
              for (let i = 0; i<xbe.length;i++) {
              const div = document.getElementById('contents-table');
              let a = document.createElement('a');
              a.innerText = xbe[i];
              console.log( a.innerText); 
              div.append(a);
              }
                });
              
          </script>
        </div>

希望这能提供所有必要的信息。
然而,它仍然没有显示h2元素的文本,但我认为逻辑是正确的。

qvk1mo1f

qvk1mo1f1#

HTML格式:

<h2>
    test example two!
  test example two!
  test example two!
</h2>
<div class="container"></div>

CSS:

.holder {
 
  width:1200px;
  height:20px;
  display: flex;
}

js:

const subheading = document.querySelectorAll('h2');
const cont = document.querySelector('.container')
 subheading.forEach(function(x) {  
   cont.innerHTML = ''
   let xbe = x.innerText.split(' ');
   for (let i = 0; i<xbe.length;i++) {
   const test = document.createElement('div');
     test.classList.add('holder')
     let a = document.createElement('a');
     a.href=''
     a.innerText = xbe[i];
     console.log(a); 
     test.append(a);
     cont.append(test)
  }
   
    });

相关问题