在所选的<input>之后选择具有特定类的第一个元素

Vor*_*Vor 1 html jquery

我想在选中之后选择具有某个类的第一个元素<input>.这是一个例子:

HTML:

<form>
    <input id="id_username" />
    <div class="status"></div>

    <input id="id_email" />
    <div class="status"></div>

    <input id="id_password" />
    <div class="status"></div>
</form>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

function check_username() {
    $("#id_username").change(function() {
        var user = $("#id_username").val();
        if(user.length >= 3) {
            /* HOW SHOULD I CHANGE THIS ??? */
            $(".status").append('<img src="/site_media/images/loader.gif"> Checking availability...');
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

所以我希望这个图像"loader.gif"仅在id_username输入后出现.我将使用类似的东西id_emailid_password.

Dav*_*mas 9

你只需要使用:

$(this).nextAll('.status').first().append(/* ...stuff... */);
Run Code Online (Sandbox Code Playgroud)

即使在$(this)和之间存在分隔元素.status,如果两者紧邻,也可以使用:

$(this).next('.status').append(/* ...stuff... */);
Run Code Online (Sandbox Code Playgroud)

参考文献:

  • 因为我误读了这个问题,并且假设了一个不存在的复杂性. (2认同)