【问题标题】:Why can't I remove this form?为什么我不能删除这个表格?
【发布时间】:2012-02-06 00:10:28
【问题描述】:

我正在使用 jQuery 中的 .remove() 函数尝试从我创建的页面上的 DIV 中删除一个表单,但它看起来不起作用。我的代码有什么问题吗?

我已经使用警报来查看实际线路是否正在被触发,并且确实如此。基本上我在页面上有一个删除按钮,我希望它会删除最后添加的表单,但它不会这样做。我看到了.last() 函数,但不知道我是否可以在这种情况下使用它?

HTML:

<input type="button" value="Delete Row" class="removePlacement button blue" />

<div id="placement">
<form id="placement-form" class="placement-form">
    <!-- items -->
</form>
 <form id="placement-form1" class="placement-form">
    <!-- items -->
</form>
 <form id="placement-form2" class="placement-form">
    <!-- items -->
</form>
 <form id="placement-form3" class="placement-form">
    <!-- items -->
</form>
</div>

jQuery:

$(function() {
$('.removePlacement').click(function() {
    $('#placement').remove('form').last();
    // alert('0');
    }); 
});

【问题讨论】:

    标签: jquery forms dom


    【解决方案1】:

    试试:

    $(function() {
        $('.removePlacement').click(function() {
            $('#placement').find("form:last").remove();
            // alert('0');
        }); 
    });
    

    【讨论】:

      【解决方案2】:
      $('#placement').remove('form').last();
      

      你告诉 jQuery 在这里做的是:

      1. 找到placement 容器。
      2. 删除form 类型的任何元素,因为您只指定了一个类型(表单,而不是类或特定元素的特定选择器)。
      3. 在删除操作的结果上返回最后一个 - 它不会返回任何内容。

      karim 的解释应该可以解决这个问题。但是,希望这能说明为什么您的代码会出现这样的行为。

      【讨论】:

      • 是的。多谢,伙计。只要掌握 JQuery 并思考,它就是一门很棒的语言!
      • @Kiz jQuery 不是一种语言。这是一个 DOM 库。
      • 公平竞争。确实如此。 JavaScript 是语言。哦!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多