Javascript 需要像jquery empty()这样的函数来删除jquery添加的元素

Javascript 需要像jquery empty()这样的函数来删除jquery添加的元素,javascript,jquery,dom,Javascript,Jquery,Dom,我有一个名为“content”的空白div。链接稍后会使用jqueryappend添加到“内容”中。使用不起作用;我猜不会清除jquery添加的链接,因为这些链接没有添加到DOM 函数应该清除,然后显示新的链接,但它不清除链接,只是附加到任何存在的内容 function getSubRedditLinks(url) { $("#content").empty(); //doesnt work $.getJSON( url + suffix, f

我有一个名为“content”的空白div。链接稍后会使用jqueryappend添加到“内容”中。使用不起作用;我猜不会清除jquery添加的链接,因为这些链接没有添加到DOM

函数应该清除,然后显示新的链接,但它不清除链接,只是附加到任何存在的内容

    function getSubRedditLinks(url)
{  
   $("#content").empty(); //doesnt work

   $.getJSON(
      url + suffix, 
      function foo(data) 
      { 
         $("#content").empty(); //doesnt work
         $.each(
            data.data.children, 
            function (i, post) 
            {
               $("#content").append(  '<section>' + 
                                    '<a href="#">' + post.data.title + '</a>' + 
                                    '</section>' );
            } 
         );
      } 
   );
   $("#content").empty(); //doesnt work
}
函数getSubRedditLinks(url) { $(“#content”).empty();//不起作用 $.getJSON( url+后缀, 函数foo(数据) { $(“#content”).empty();//不起作用 元。每个( data.data.children, 职能(一、员额) { $(“#内容”)。附加(“”+ '' + '' ); } ); } ); $(“#content”).empty();//不起作用 } 函数的调用方式如下:

<li><a class="link" href="#" onclick=getLinks("localhost")>Blogroll</a></li>

  • 显然,empty()应该可以工作。我简化了上面的代码,把它放在我放的3个地方不起作用。它只是不断添加到#内容的链接

    使用
    $(…).remove()
    。。。或者
    $(“#content”).html(“”

    适合我,看看这个

    注意:删除注释以使用它

    尝试以下操作:

    function getLinks(url)
    {
       $.getJSON(
          url + suffix, 
          function(data) 
          { 
             var items = [];
             $.each(
                data.data.children, 
                function (i, post) 
                {
                    var section = $('<section></section>').append('<a></a>');
                    section.find('a').attr('href', '#post=post-' + i).text(post.data.title);
                    items.push(section[0].outerHTML);
                } 
             );
             $('#content').empty().append(items.join(''));
          });
    }
    
    函数获取链接(url)
    {
    $.getJSON(
    url+后缀,
    功能(数据)
    { 
    var项目=[];
    元。每个(
    data.data.children,
    职能(一、员额)
    {
    变量节=$('')。追加('');
    section.find('a').attr('href','#post=post-'+i).text(post.data.title);
    items.push(节[0].outerHTML);
    } 
    );
    $('#content').empty().append(items.join('');
    });
    }
    
    如果你把当前的代码放进去就好了,这样会更容易提供帮助。同意-empty()应该清除你放在div中的任何内容。任何内容。文本,元素,任何东西。您可能还有其他事情在进行..在获得json后,您希望发生什么。。是否看到一些链接?我得到了基于json的链接,是的,我看到他们仍然不理解你的问题是什么。。。一个JSFIDLE就好了。你试过添加$(“#content”).empty()吗;在你的for循环之前?我想让content div保存一年,它不起作用,但现在它对我起作用了。我猜我刷新页面太快了。你能解释一下为什么这样做吗?#content div的清空是在数据被提取和解析后完成的。GetJSON是一个异步函数。如果使用异步函数,则最好使用success回调函数中的数据完成所有工作。