Al hacer clic en el botón, quiero obtener el valor <input name="something/> más cercano.
$(this).closest(".input").val() pero no funcionó.
$(document).on("click", ".button", function() { div = `<div class="second-div"><input name="something/></div> <div class="third-div"></div>` // get nearest <input name="something/> value // get nearest <input class="a-input" /> value $(".main-div").append(div); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="main-div"> <div class="second-div"> <input name="something" class="input" /> </div> <div class="third-div"> <input name="another input" class="a-input" /> </div> <div class="fourth-div"> <button type="button" class="button">Click Me</button> </div> </div>Primero viajaría hasta el div que lo contiene, luego volvería al control deseado.
$(this).closest(".main-div").find(".input");EDITAR
Acabo de leer tu comentario diciendo que quieres obtener la última instancia de una clase.
$(this).closest(".main-div").find(".input").last();EJEMPLO
$(document).on("click", ".button", function() { div = `<div class="second-div"><input name="something" class="input"/></div> <div class="third-div"></div>` $(".input").removeClass("highlight"); $(this).closest(".main-div").find(".input").last().addClass("highlight"); // get nearest <input name="something/> value // get nearest <input class="a-input" /> value $(".main-div").append(div); }); .highlight{ background:#b00; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="main-div"> <div class="second-div"> <input name="something" class="input" /> </div> <div class="third-div"> <input name="another input" class="a-input" /> </div> <div class="fourth-div"> <button type="button" class="button">Click Me</button> </div> </div>