Si votre fonction reçoit un objet DOM et que vous n'avez pas besoin d'une fonctionnalité jQuery pour cet objet DOM, il n'est pas nécessaire de le convertir en objet jQuery. Par exemple, si vous recevez un objet checkbox, vous pouvez examiner l'objet checked
sans l'utilisation de jQuery.
Toutefois, si vous devez naviguer vers un élément différent de cette case à cocher, il peut être utile de la convertir :
function yourCallback(cb) {
cb = $(cb);
var sel = $(cb).closest('td').next().find('select');
// For example, update the options in a neighboring select field
...
}
jQuery (comme d'autres bibliothèques) s'intègre parfaitement au JS natif. Si vous avez besoin de fonctionnalités supplémentaires, augmentez l'objet en question.
Quant à votre dernière question : Vous pourriez trouver le data
utile pour éviter les attributs DOM non standard. Si votre propriété x
dans votre question est en fait un attribut DOM valide, vous pouvez écrire soit this.x = y
ou $(this).attr('x', y)
Pour l'instant, cela n'a pas beaucoup d'importance. Cependant, si x
n'est pas un attribut DOM, utilisez
$(this).data('key', value)
De cette façon, vous pouvez stocker des paires clé-valeur arbitraires avec l'élément DOM, où value
peut être une valeur primitive ou un objet arbitraire.