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

时间:2016-06-03 20:34:50

标签: javascript jquery

我有以下表格:

<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()然后它会同时显示它们。

3 个答案:

答案 0 :(得分:3)

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

使用此:

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

如果要查找最后出现的元素,请考虑使用: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);" ...');