J'ai simplement le code HTML:Comportement étrange jQuery .PREV()
<input type='hidden' name='cat_id' value='123'/>
<a href='#' class='edit'>Edit</a>
<a href='#' class='delete delete-link'>Delete</a>
et simple code JS:
$("a.delete-link").click(function() {
var id = $(this).prev($('input[name="cat_id"]')).val();
alert(id);
});
Tout simple et évident, obtenir une valeur d'entrée précédente avec le nom « cat_id '. Mais il retourne juste une chaîne vide (la valeur est vraiment définie). Je pensais que peut-être le sélecteur est faux:
var id = $(this).prev($('input[name="cat_id"]')).length;
alert(id);
Retours 1. De travail. Je n'ai pas la moindre idée de ce qui se passe et essayé
var id = $(this).prev($('input[name="cat_id"]')).attr('name');
alert(id);
Returns « undefined ». Étrange. Des idées? Essayé prevAll au lieu de prev, l'effet est le même. Version jQuery est 1.6.4