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

标签 javascript jquery dom

我有一个名为“content”的空白 div。随后使用 jquery 附加将链接添加到“内容”。使用empty()不起作用;我猜empty()不会清除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
}

函数的调用方式如下:

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

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

最佳答案

试试这个:

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(''));
      });
}

关于javascript - 需要像 jquery empty() 这样的函数来删除 jquery 添加的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7219476/

相关文章:

javascript - InMemoryDataService 导致 MongoDB 错误

javascript - 通过查找关键字将 Javascript 字符串拆分为字符串数组

javascript - 访问链中先前 Promise 的数据

javascript - 将新代码注入(inject) DOM 的最佳方式是什么?

javascript - 无法从当前现有值增加列值

javascript - Jquery 脚本不引起任何交互

具有关联文本输入事件的 Jquery UI 范围 slider (失败)

jquery - jqPlot : how to color parts of background/grid with several different colors

Java 为 XML 节点赋值

javascript - 避免与将大量 DOM 对象绑定(bind)到单击事件相关的内存或性能问题的最佳实践