使用 .last() 隐藏最后一个元素



我有以下形式:

<form id="P" enctype="multipart/form-data" action="/" method="post">
    <input class="userImage" onchange="readURL(this);" type="file" name="profileImage" accept="image/x-png, image/gif, image/jpeg, image/bmp">
</form>

有一个javascript回调函数,我试图隐藏最后一个<input type="file"并添加一个新函数:

$("#P").last(".userImage").hide();
$("#P").append("<input class="userImage" onchange="readURL(this);" type="file""+
   " name="profileImage" accept="image/x-png, image/gif, image/jpeg, image/bmp">");

但是,每次运行时,它都会隐藏<input type="file"元素。我试图在最后一个元素上放置一个 .show(),但它显示了它们。

你的逻辑是正确的。只是如何使用last()的简单错误。

使用这个:

$("#P .userImage").last().hide();

尝试将 hide() 选择器更改为:
$("#P > .userImage:last-child").hide();

如果要查找最后一个出现的元素,请考虑使用 :last 选择器:

// Hide your last image (within your P <form>)
$('#P .userImage:last').hide();
// Append a new one here 
$('#P').append('<input class="userImage" onchange="readURL(this);" ...');

最新更新