Comment passer d'une référence d'objet DOM à la fonction jQuery?
Je veux passer une référence de l'objet DOM à une fonction jQuery. Cependant, la fonction n'est pas d'obtenir une référence à l'objet DOM. C'est une chaîne de caractères contenant l'objet DOM. Donc, je reçois un message d'erreur sur l'exemple suivant
<input type="text" size="30" onchange="change_total_price(this)" id="priceField">
.
function change_total_price(input) {
input.closest('div').find('#amountField').val());
}
OriginalL'auteur Flexo | 2010-07-12
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour l'envelopper, comme ceci:
this
, étantinput
dans la fonction est un élément du DOM, mais.la plus proche()
est un objet jQuery méthode si vous avez besoin d'envelopper dans$()
pour obtenir un objet jQuery si vous voulez l'utiliser.Vous pouvez également faire cela à l'extérieur de votre balise, comme ceci:
De cette façon lie la
modifier
événement gestionnaire à l'id="preiceField"
élément, vous pouvez supprimer l'en-ligneonchange="change_total_price(this)"
...c'est à la fois plus simple et plus facile à maintenir (peut-être en dehors de votre page externe dans une.js
chargé et mis en cache à la fois, par exemple).Que d'un côté, les Id doivent être unique, de sorte qu'il n'a pas besoin d'être par rapport à tous les, les deux exemples ci-dessus peut-être simplement:
OriginalL'auteur Nick Craver