jQuery prepend() 字符串化参数

jQuery prepend() stringifies argument

我有以下代码:

sections=$("section");
for(let i=0; i<sections.length; i++){
    let sectionTempCode=("<button id='").concat(i.toString()).concat("'>Toggle section view</button>");
    console.log(sectionTempCode)
    sections[i].prepend(sectionTempCode)
}

目的是向 HTML 添加按钮标签,并在每个 .相反,我得到的是双引号内的标签代码,这导致代码本身显示在我的页面中:

"<button id='0'>Toggle section view</button>"

使用 .each() 和元素生成器 $(HTMLTag, {...properties})

$("section").each((i, el) => {

  $("<button>", {
    prependTo: el,
    id: i+1,
    type: "button",
    text: "Toggle section view",
    click() {
      console.log(this.id);
    }
  });

});
<section></section>
<section></section>
<section></section>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>