如何删除使用Ajax调用的div

时间:2012-02-03 14:51:27

标签: php jquery html ajax dom

大家好,我正在寻求一些帮助。

我有一个php页面,在这个页面中我有一些返回div的ajax调用... 在这个div之一我有一个按钮,如果这个按钮将点击我必须删除按钮所在的整个div ..

这是我的代码,现在不工作:(

$(document).ready(function() {
$("#tutn").live('click',function(e){
   $("#first_time",e).remove() ;
   e.preventDefault() ; 
});});

其中id =“first_time”是用ajax调用的div ...这是我的问题..因为即使我点击按钮,div也不会删除.... 在其他世界,我必须删除div的父亲,其中按钮是

这是html代码

<div id="first_time">
     <div class="ft_info">
         <input type="button" name="tutn" id="tutn" class="tutbtn" value="no" />
    </div>
</div>

6 个答案:

答案 0 :(得分:3)

如果您确定div存在且其ID为first_time,请执行

$('#first_time').remove();

第二个参数应该是一个现有的DOM节点,jQuery将开始选择元素的起点。您似乎正在传递event对象,这不是jQuery所期望的。

此外,无需将第二个参数传递给ID选择器,因为ID在文档中必须是唯一的。


关于风格的最后说明:不要在分号前加上空格,不要节省空间&#34;通过嵌套多个结束})对。这很糟糕:

$(document).ready(function() {
$("#tutn").live('click',function(e){
   $("#first_time",e).remove() ;
   e.preventDefault() ; 
});});

如果您想要认真对待,那么您必须必须采用某些完善的编码标准:

$(document).ready(function () {
   $("#tutn").live('click', function (e) {
     $("#first_time",e).remove();
     e.preventDefault(); 
  });
});

答案 1 :(得分:2)

您无法从上下文e。

中选择div#first_time

只需将$("#first_time",e).remove() ;更改为$("#first_time").remove() ;

即可

答案 2 :(得分:0)

作为另一种选择,您可以在$(this)上使用this方法的两个链式调用删除按钮的“祖父母”,其中$(document).ready(function() { $("#tutn").live('click',function(e){ e.preventDefault() ; $(this).parent().parent().remove(); });}); 是按钮元素。

{{1}}

答案 3 :(得分:0)

只需要做一个小改动就可以解决它......

$(document).ready(function() {
    $("#tutn").live('click',function(e){
       $("#first_time").remove() ;
       e.preventDefault() ; 
    });
});

我刚从删除选择器中删除,e,因为它错了。

答案 4 :(得分:0)

你的错误在第3行:

$("#first_time").remove() ;

那里的e是错的。我想知道你没有得到js错误。

但我也建议使用parent()。

$(document).ready(function() {
    $("#tutn").live('click',function(e){
       $(this).parent().parent().remove();
    });
});

您必须使用parent()两次才能获得$('#first_time')。

我不会使用ID。我会用类解决问题。

答案 5 :(得分:0)

如果你想删除id为first_time的div,你可以这样做:

$(document).ready(function () {
     $("#tutn").live('click', function (e) {
         $("#first_time").remove();
     });
});

但如果id是动态变化的,那么你可以这样做:

$(document).ready(function () {
         $("#tutn").live('click', function (e) {
             $(this).parent().parent().remove();
         });
});