javascript - 如何动态删除 div 并清除内存,以便我可以使用 jQuery 添加具有相同 ID 但不同内容的新 div?

标签 javascript jquery picasa

我正在使用 Picasa Web Integrator (PWI) 代码,它允许我使用 picasa 帐户展示图片库。用户使用表单编写一个关键字,然后用代码创建一个 div 并调用 PWI。

它工作得很好,但我正在尝试添加一个“后退”按钮,以便让用户选择不同的关键字而无需刷新。

但是代码似乎没有清除内存,结果与第一次相同。

代码如下:

//The button that the user presses when he has written the keyword. 
    $("#boton2").click(function() { 
            //Creates a new div 
            $(".shop3").append("<div></div>"); 
            $('.shop3 > div').attr('id', 'container3'); 
            //gets the keyword and creates a variable called "competidor"
            competidor = $('#competidor_txt').val(); 
            //calls for the PWI code...
            $("#container3").pwi({ 
                    username: 'davidagnino', 
                    mode: 'keyword', 
                     ... 
                     //This part works perfectly.

//The "back" button that should delete the div called #container3 
   $('#back3').click(function() { 
            event.preventDefault(); 
            competidor=null; 
            delete competidor; 
            $("#container3").empty();     //should make my div empty 
            $("#container3").remove();    //deletes the div...
    });

最佳答案

我认为最好的方法是动态更改 Div 的 ID,从而每次都将其设置为一个全新的 div。

我会设置一个计数器变量(理想情况下是静态的,但如果您无法理解,则可以是全局变量):

var divCounter=0;
$("#container"+divCounter).pwi({/*...*/});

当需要销毁它时,增加 divCounter 并生成一个全新的 div。应该完成工作!

显然,在所有事件处理程序中,您都会通用地引用它:

$("#container"+divCounter);

简单说明一下,删除某些内容会将其从 DOM 中完全删除,从而在同一操作中将其清空。将函数链接在一起也是很好的 jQuery 实践,如下所示:

$("#container3").append(/*whatever*/).attr(/*whatever*/);

关于javascript - 如何动态删除 div 并清除内存,以便我可以使用 jQuery 添加具有相同 ID 但不同内容的新 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3549946/

相关文章:

html - 图片未显示在 GitHub 托管的站点中

javascript - 为什么列表项在 body 滚动时没有改变?

javascript - 使用键和 jquery 在不同表中移动 tr

javascript - 从对象生成类 (JavaScript)

jquery - 背景图片不合适

javascript - 如何在 PHP/html/Javascript 上锁定/解锁鼠标滚动?

Java Picasa API 目录列表不起作用

java - Picasa API - URL 不适用于标签

javascript - 如何编辑节点图?

javascript - Touchend 事件,回到 touchstart 状态动画