【问题标题】:Remove innerHTML from div从 div 中删除 innerHTML
【发布时间】:2011-02-08 13:39:20
【问题描述】:

我试图在重新填充之前清除 div 的 innerHTML。我尝试了 removeData() 但是一旦调用它,当我尝试添加数据时,删除后我从下一行中什么也没有得到,而如果我删除 removeData() 就可以了。我只是想在重新填充之前清除该 div 中的所有先前内容。

    divToUpdate.removeData(); //clean out any existing innerHTML div content first
    divToUpdate.html(data);

在它调用 removeData(); 之后,由于某种原因,它似乎永远不会到达我的 divToUpdate.html(data);

【问题讨论】:

    标签: jquery innerhtml


    【解决方案1】:

    jQuery 数据是与 HTML 不同的概念。 removeData 不是用于删除元素内容,而是用于删除您之前存储的数据项。

    做吧

    divToUpdate.html("");
    

    divToUpdate.empty();
    

    【讨论】:

      【解决方案2】:

      要从 div 中删除所有子元素:

      $('#mysweetdiv').empty();
      

      .removeData() 和相应的.data() 函数用于在元素后面附加数据,例如,如果您想指出特定列表元素引用了数据库中的用户 ID 25:

      var $li = $('<li>Joe</li>').data('id', 25);
      

      【讨论】:

      • 如何使用这个li进行选择?
      【解决方案3】:
      $('div').html('');
      

      但是你为什么要清除,divToUpdate.html(data); 将完全取代旧的 HTML。

      【讨论】:

      • 因为我相信每次关闭并重新打开 jQuery UI Dialog 时父页面中的 div 都会保留旧的 innerHTML
      • 你怎么知道的?除了查看将其清除的 div 内容之外,您还引用了哪些内容?
      • 在 jQuery 文档 (api.jquery.com/html) 中“设置为每个匹配元素内容的 HTML 字符串。”我将工作“设置”解释为替换。为了验证这一点,我可以在两行代码之间执行类似 alert($('div').html()) 的操作来验证。
      【解决方案4】:
      
      var $div = $('#desiredDiv');
      $div.contents().remove();
      $div.html('<p>This is new HTML.</p>');
      

      应该没问题。

      【讨论】:

        【解决方案5】:
        divToUpdate.innerHTML =     "";   
        

        【讨论】:

          【解决方案6】:

          你应该能够覆盖它而不删除以前的数据

          【讨论】:

            猜你喜欢
            • 2017-03-11
            • 1970-01-01
            • 2021-10-06
            • 1970-01-01
            • 1970-01-01
            • 2011-05-13
            • 2016-05-21
            • 2017-02-09
            • 1970-01-01
            相关资源
            最近更新 更多