Vous ne devriez pas compter sur l'ordre des éléments à l'aide de prev
ou next
. Utilisez simplement l' for
attribut du label, il doit correspondre à l'ID de l'élément que vous êtes en train de manipuler:
var label = $("label[for='"+$(this).attr('id')+"']");
Cependant, il existe certains cas où l'étiquette n'aura pas d' for
ensemble, auquel cas l'étiquette sera le parent de son contrôle associés. Pour le trouver dans les deux cas, vous pouvez utiliser une variante de l'suivantes:
var label = $('label[for="'+$(this).attr('id')+'"]');
if(label.length <= 0) {
var parentElem = $(this).parent(),
parentTagName = parentElem.get(0).tagName.toLowerCase();
if(parentTagName == "label") {
label = parentElem;
}
}
J'espère que cela aide!