【问题标题】:remove a div on success function删除成功功能上的 div
【发布时间】:2013-10-24 12:23:18
【问题描述】:

我正在尝试使用 jquery 删除一个 div,但它不起作用。

这是我的html代码:

<html>
<body>
<div id="logout">
<form class="ajax" method="post" action="">
<div id="box_22">
<div id="box_23">
<div id="box_56">
<script src="http://code.jquery.com/jquery-1.10.2.min.js">
<script src="/../js/tt.js" type="text/javascript">
</body>
</html>

我的脚本是:我如何删除一个盒子。

$(".delBtn").click(function (event) {
     event.preventDefault();
     var clickedID = 'clickId=' + this.id;       
        jQuery.ajax({
        type: "POST", // HTTP method POST or GET
        url: "/addchannel/delUsr.php", //Where to make Ajax calls
        dataType:"text", // Data type, HTML, json etc.
        data:clickedID, //Form variables
        success:function(response){
            alert("#box_"+clickedID);
            $( "div #box_"+clickedID ).remove();


        },
 });
 });

【问题讨论】:

  • 该 HTML 中类 delBtn 的元素在哪里?还有结束标签在哪里?如果那是您的实际 HTML,则它是完全无效的,并且您不能保证它的任何特定行为。

标签: javascript jquery


【解决方案1】:

您的选择器错误...."div #box_"+clickedID 正在 div 元素内搜索 ID 为 "#box_"+clickedID 的元素。

在您的情况下,您可以直接使用id-selector

更新:真正的罪魁祸首是变量clickedID,您将其创建为参数字符串......所以选择器将失败。

$(".delBtn").click(function (event) {
    event.preventDefault();
    var id = this.id;
    var clickedID = 'clickId=' + id;

    jQuery.ajax({
        type: "POST", // HTTP method POST or GET
        url: "/addchannel/delUsr.php", //Where to make Ajax calls
        dataType: "text", // Data type, HTML, json etc.
        data: clickedID, //Form variables
        success: function (response) {
            alert("#box_" + id);
            $("#box_" + id).remove();
        }
    });
});

【讨论】:

  • ID 以box_ 开头的 div 是在他发布的 HTML 的一个 div 中,所以选择器很好(只是没有意义)。编辑:哦,等等,没有结束标签......上帝知道该页面应该是什么样子。 ://
  • 这不起作用。但如果我这样做 $("div").remove();它仅适用于删除每个 div。
  • 结束标签在那里,我从 firebug 复制了 DOM 模型,所以它看起来像这样。
  • @phpdeveloper 是的...真正的罪魁祸首是变量clickedID,它不是选择器...它是一个参数字符串...查看更新
  • @phpdeveloper 下次复制实际的 HTML 源代码,从 Firebug 发布 DOM 视图对任何人都没有帮助。
【解决方案2】:

删除空格:

$( "div#box_"+clickedID ).remove();

【讨论】:

    【解决方案3】:

    Jquery 选择器中不需要“div”

    $( "#box_"+clickedID ).remove();
    

    【讨论】:

      猜你喜欢
      • 2015-01-29
      • 2012-12-23
      • 2023-04-01
      • 1970-01-01
      • 2020-08-07
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      相关资源
      最近更新 更多