Javascript jQuery在循环后附加HTML标记

Javascript jQuery在循环后附加HTML标记,javascript,jquery,Javascript,Jquery,我将HTML代码附加到一个div中,它是一个无序列表。因此,首先我要: $('.placeholder').append('<ul>'); $('.placeholder')。追加('); 这正如预期的那样有效。然后,我对列表项执行循环: $.each(headings, function(index, heading){ $('.placeholder').append('<li>' + heading + '</li>'); }) $。每个(

我将HTML代码附加到一个div中,它是一个无序列表。因此,首先我要:

$('.placeholder').append('<ul>');
$('.placeholder')。追加('
    );
这正如预期的那样有效。然后,我对列表项执行循环:

$.each(headings, function(index, heading){
    $('.placeholder').append('<li>' + heading + '</li>');
})
$。每个(标题、函数(索引、标题){
$('.placeholder')。追加('
  • '+标题+'
  • '); })
    然后附加结束ul标记

    $('.placeholder').append('</ul>');
    
    $('.placeholder')。追加('');
    
    问题是代码是这样出现的:

    <ul></ul>
    <li></li>
    <li></li>
    <li></li>
    
    • 为什么在编写代码时,它会在每个循环的开头追加结束ul标记,以便在之后追加它

      附加开始和结束标记:

      $('.placeholder').append('<ul></ul>');
      
      $('.placeholder')。追加('
        ');
        然后将您的
      • 附加到
        中:

        $.each(headings, function(index, heading) {
            $('.placeholder ul').append('<li>' + heading + '</li>');
        })
        
        $。每个(标题、函数(索引、标题){
        $('.placeholder ul')。追加('
      • '+标题+'
      • '); })
        附加开始和结束标记:

        $('.placeholder').append('<ul></ul>');
        
        $('.placeholder')。追加('
          ');
          然后将您的
        • 附加到
          中:

          $.each(headings, function(index, heading) {
              $('.placeholder ul').append('<li>' + heading + '</li>');
          })
          
          $。每个(标题、函数(索引、标题){
          $('.placeholder ul')。追加('
        • '+标题+'
        • '); })
          您不需要执行
          .append(“”)<代码>.append(“
            ”)
          已将完整的
          ul节点
          添加到HTML中

          另外,您需要将
          lis
          添加到
          ul
          中,而不是添加到
          中。占位符

          $.each(headings, function(index, heading){
              $('.placeholder ul').append('<li>' + heading + '</li>');
          })
          
          $。每个(标题、函数(索引、标题){
          $('.placeholder ul')。追加('
        • '+标题+'
        • '); })
          您不需要执行
          .append(“”)<代码>.append(“
            ”)
          已将完整的
          ul节点
          添加到HTML中

          另外,您需要将
          lis
          添加到
          ul
          中,而不是添加到
          中。占位符

          $.each(headings, function(index, heading){
              $('.placeholder ul').append('<li>' + heading + '</li>');
          })
          
          $。每个(标题、函数(索引、标题){
          $('.placeholder ul')。追加('
        • '+标题+'
        • '); })
          使用map,而不是在末尾一次将它们全部追加

          var$ul=$(“
            ”); $ul.append( $.map(标题、功能(元素){ 返回“
          • ”+元素+”
          • ”; }) );
            $('.placeholder')。追加($ul)使用map,而不是在末尾一次将它们全部追加

            var$ul=$(“
              ”); $ul.append( $.map(标题、功能(元素){ 返回“
            • ”+元素+”
            • ”; }) );
              $('.placeholder')。追加($ul)追加与生成字符串不同。您正在创建单个元素。您需要将lis附加到您创建的ul。
              $('.placeholder ul')。附加('
            • '+heading+'
            • ')和沟渠
              $('.placeholder')。追加('
            ')追加与生成字符串不同。您正在创建单个元素。您需要将lis附加到您创建的ul。
            $('.placeholder ul')。附加('
          • '+heading+'
          • ')和沟渠
            $('.placeholder')。追加('
          ')