javascript - jQuery 在循环后附加 HTML 标签

标签 javascript jquery

我正在将 HTML 代码附加到 div 中,它是一个无序列表。所以首先我这样做:

$('.placeholder').append('<ul>');

这按预期工作。然后我对列表项进行循环:

$.each(headings, function(index, heading){
    $('.placeholder').append('<li>' + heading + '</li>');
})

然后附加结束 ul 标记

$('.placeholder').append('</ul>');

问题是代码如下:

<ul></ul>
<li></li>
<li></li>
<li></li>

为什么在编写代码时要在每个循环的开头附加结束 ul 标记,然后再附加它?

最佳答案

你不需要做.append('</ul>');.append('<ul>');已经添加了完整的ul node到 HTML。

另外,您需要添加您的 lis在你的ul里面,不在里面.placeholder :

$.each(headings, function(index, heading){
    $('.placeholder ul').append('<li>' + heading + '</li>');
})

关于javascript - jQuery 在循环后附加 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071289/

相关文章:

javascript - AngularJS - 创建服务对象

javascript - React.js - 是否可以在第一次渲染之前获取元素的大小?

javascript - 如何将我的 td 与等宽对齐?

jquery - 将处理程序绑定(bind)到具有相似 ID 的多个元素

jquery - 如何运行 jQuery 加载方法

javascript - Typescript 强类型 void 函数

javascript - 无法隐藏网页上的垂直滚动条

jquery 同时淡入和淡出

javascript - 如何使悬停监听器可选

javascript - jQuery 用 live 替换绑定(bind)