Javascript 如果不是唯一使用jQuery的情况,是否从dom中删除元素?

Javascript 如果不是唯一使用jQuery的情况,是否从dom中删除元素?,javascript,jquery,html,Javascript,Jquery,Html,我有一个表单,有多行动态添加的输入字段 我希望能够删除这些字段的最后一行(前提是它不是唯一一行) 我试着这样做 Javascript HTML(简化为Simplicity) 我认为这会像在只有一行字段的情况下一样有效,我用不同的选择器两次有效地选择相同的元素 如果jQuery选择器匹配不同的元素,则必须有多行,因此可以删除最后一行。只需检查这些元素的长度,如果小于或等于1,则不执行任何操作,否则删除!: $("#remove-item").click(function() { if

我有一个表单,有多行动态添加的输入字段

我希望能够删除这些字段的最后一行(前提是它不是唯一一行)

我试着这样做

Javascript HTML(简化为Simplicity)

我认为这会像在只有一行
字段的情况下一样有效,我用不同的选择器两次有效地选择相同的元素


如果jQuery选择器匹配不同的元素,则必须有多行,因此可以删除最后一行。

只需检查这些元素的长度,如果小于或等于1,则不执行任何操作,否则删除!:

$("#remove-item").click(function() {
    if ($('.input-row').length <= 1) {
        return false;
    } else {
        $('.input-row:last').remove();
    }
});
$(“#删除项”)。单击(函数(){

如果($('.input row').length只需检查这些元素的长度,如果小于或等于1,则不执行任何操作,否则删除!:

$("#remove-item").click(function() {
    if ($('.input-row').length <= 1) {
        return false;
    } else {
        $('.input-row:last').remove();
    }
});
$(“#删除项”)。单击(函数(){

if($('.input row').length您希望执行的
if($('.input row:first')[0]!==$('.input row:last')[0]){
。问题是每次调用jQuery
$(something)
都会返回一个新对象。这些对象可能包含相同的内容(元素),但它们永远不会相等,因为它们是对不同对象的引用
,您得到了一个对底层DOM元素的引用,这些引用可以是相等的,而我认为我试图解决问题的方式需要了解重复问题-这个问题的更好答案实际上是查看
div.input-row
length
属性ode>if($('.input row:first')[0]!=$('.input row:last')[0]){
。问题是每次调用jQuery
$(something)
都会返回一个新对象。这些对象可能包含相同的内容(元素),但它们永远不会相等,因为它们是对不同对象的引用。使用
[0]
,您得到了一个对底层DOM元素的引用,这些引用可以是相等的,而我认为我试图解决问题的方式需要了解重复问题-这个问题的更好答案实际上是查看
div.input-row的
length
属性所建议的,我已经调整了您的稍微编写代码以使用单个
if(){}
而不是
if/else
基本上
if($(.input row”).length>1{$('.input row:last').remove();}
-如果只有1个,我就看不出有什么需要做了
而不是
if/else
基本上
if($(“.input row”).length>1{$('.input row:last')。remove();}
-如果只有1,则不需要执行任何操作
$("#remove-item").click(function() {
    if ($('.input-row').length <= 1) {
        return false;
    } else {
        $('.input-row:last').remove();
    }
});