jQuery trouver $.find('selector') par rapport à('selector') différence
J'ai une question pourquoi ces deux extraits de code sont différents.
$('#ctl00_DDMenu1_HyperLink1')
//jQuery(a#ctl00_DDMenu1_HyperLink1 Default.aspx) Console output
$('#ctl00_DDMenu1_HyperLink1').text()
Le code ci-dessus retourne : Some link text
Mais
$.find('#ctl00_DDMenu1_HyperLink1')
//[a#ctl00_DDMenu1_HyperLink1 Default.aspx] Consolee output
$.find('#ctl00_DDMenu1_HyperLink1').text()
Retourne
TypeError:
$.find("#ctl00_DDMenu1_HyperLink1").text
n'est pas une fonction
Est-ce à dire que $.find
return Array objet []
et jQuery fonctions ne sont pas accessibles?
//EDIT
J'ai utilisé jQuery 1.4.2 & utilisé la Console de Firebug.
//Répondre constaté par la pratique
Ce code sera de retour objet jQuery référence et toutes les fonction jQuery sont accessibles.
$('any_selector')
//jQuery(item1),jQuery(item2),...,jQuery(item-N) Console output
$('any_selector').text()
Ce code de retour Tableau JavaScript objet de sorte que toute fonction de jQuery ne peut pas être appliqué à resultset. Même lorsque resultset semble être identique.
$.find('any_selector')
//[item1,item2,...,item-N] Consolee output
$.find('any_selector').text()
Mais nous pouvons faire de truc (truc bizarre) à wrapp js Tableau dans sélecteur jQuery:
$($.find('any_selector_as_inner_select')).val()
//Merci pour l'aide les gars!
C'est juste un exemple de la différence entre les fonctions de la façon dont il travaille. Merci pour l'aide quand même 🙂
OriginalL'auteur r.piesnikowski | 2011-05-21
Vous devez vous connecter pour publier un commentaire.
La raison pour laquelle cela ne fonctionne pas parce que
find()
vous permet de filtrer sur un ensemble d'éléments en fonction de la sélection que vous avez déjà fait.Par exemple si vous voulez sélectionner toutes les entrées dans un formulaire, vous pouvez écrire:Il ne peut pas être appelé sur son propre.
$($.find('#aParticularForm input)).val()
oh intéressant, je n'étais pas au courant! Merci pour le heads up.
$.find() retourne JavaScript tableau de correspondance des objets de sorte que toute fonction jQuery ne peut pas être accessible en pur JS objet. Mais d'habillage ceux JS objet à l'intérieur de $() affecter le bon résultat. Cheers!
Ce qui est intéressant, c'est que
$($.find('#foo')).text()
et$('#something').find('#foo').text()
à la fois travailler, mais$.find('#foo').text()
ne sera pas.OriginalL'auteur cm2