Кажется, мне трудно понять, как работают эти селекторы jQuery.
Скажем, у вас есть этот вид HTML
<form>
<input type="hidden" name="something" value="1" class="class_name" />
<div>
<input class="blur_function" name="email" />
</div>
</form>
и следующий jQuery
$(document).ready(function(){
$('.blur_function').live('blur',function(){
// get the value of the hidden input above
var something = $(this).prev('.class_name').val();
});
});
Я бы предположил, что этот 'prev ('. Class_name ') будет проходить вверх по коду, пока он не достигнет чего-то с class = "class_name", однако в итоге я получу undefined , поскольку он проходит только внутри элемент его внутри.
Так что мне нужно сделать что-то подобное, чтобы выйти за пределы родительского div и в рамках предыдущего .class_name:
var something = $(this).parent().prev('.class_name').val();
Есть ли более быстрый способ сделать это, используя ту же структуру HTML?