javascript - 动态添加li和div到html页面

标签 javascript jquery html

我有一个列表,我使用 ajax 调用动态添加到 html 页面。我正在添加这样的列表项:

Jquery 中的代码:

$.getJSON('getData.php', function(result){
    $.each(result,  function(index, results) {

        $('#myList').append('<li>'+results.title+'</li>');
    });

});

我想要做的是动态添加一个div来添加li列表。因此,每次添加列表项时,它们都会添加到 div 中。

期望的输出是这样的:

<div>
  <li>First Added item</li>
  <li>Second Added item</li>
  <li>Third added itme</li>
</div>

这是我尝试的解决方案:

  $.getJSON('getChapterFilter.php', {name: bookSel}, function(result){

    var appendDiv = false;
    var appendEnd = false;
    $.each(result,  function(index, results) {

        if (appendDiv === false) {
            $('#myList').append('<div>');
            appendDiv = true;
            }
        else {

        $('#myList').append('<li>'+results.title+'</li>');
        }

        if(appendEnd === false) {
            $('#myList').append('</div>');
            appendEnd = true;
            }
     });

  });

我遇到的问题是 li 没有填充在列表中。这就是上面代码所发生的情况:

<div></div>
<li>first added item</li>
<li>second added item</li>
<li>third added item</li>

最佳答案

$('#myList').append('<div>');

这将附加 <div></div>#myList

添加您的 <li>在 div 内你必须执行以下操作:

$('#myList > div').append('<li>'+results.title+'</li>');

要缩短它,您可以这样做:

$.getJSON('getChapterFilter.php', {name: bookSel}, function(result){
    $("#myList").append("<div>" + result.reduce( function(p,c){ return p + "<li>" + c.title + "</li>" }, "" ) + "</div>" );
});

关于javascript - 动态添加li和div到html页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31840070/

相关文章:

javascript - 如何替换http ://with Tel:

Javascript .replaceAll() 不是函数类型错误

javascript - JavaScript 中的 str.fun()/str.fun/fun(str) 有什么区别?

Javascript Window 对象跨域可访问属性

jquery - 单击功能仅有效一次(因为选择器被删除并再次添加回来)

Python 使用 Beautiful Soup 对特定内容进行 HTML 处理

html - 如何将自定义内容缩略图居中 (Bootstrap 3.3.6)

javascript - 在YouTube视频上使用带有fancybox的jQuery…但是Youtube控件不起作用?

javascript - Flex 容器图像 slider 轮播

javascript - 使用 anchor 将 href 链接到下一个 div