J'essaie d'utiliser JQuery pour trouver un div dans une iframe. Y a-t-il une meilleure façon que celle que j'utilise ci-dessous? J'ai essayé presque une semaine pour faire ce travail: P> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3 Réponses :
Je ne pense pas que le ** Notez que ** Mise à jour pour corriger l'erreur dans laquelle nous ne spécifions pas le document après avoir obtenu le contenuwindow / Document. P> p> jQuery code> peut accéder au contenu du contenuwindow / du document de cette manière. Dans le passé, je devais faire cela:
ceci.contentwindow || Ceci.ContentDocument code> est requis pour fonctionner correctement sur IE et la plupart des autres navigateurs. Une fois la fenêtre de contenu obtenue, vous devez sélectionner le document. Ensuite, vous pouvez utiliser JQQUERY pour manipuler ou traverser le DOM, mais uniquement si la source de l'iframe est dans le même domaine. P>
Cela devrait être ceci.contentwindow.document code>, je pense.
'Ceci.contentdocument.document' est null ou pas un objet
@rajaishbt ceci.contentdocument || cela.contentwindow.document code>
Désolé, essayez-le comme mis à jour. Je pensais que contentwindow code> et
contentdocument code> où sémantiquement analogue.
Cela ne fonctionnera que si la source IFrame est dans le même domaine que votre page, sinon le navigateur ne le permettez pas pour des raisons de sécurité p>
Utiliser le contexte du sélecteur:
var frame = $('#frame_id'); var div = $('#mydiv', frame);
JQuery ne peut pas traverser directement le document de contenu d'un iframe, de sorte que cela ne fonctionnera pas.
Pourquoi pas
$ ('# iframe #mydiv') code>?
@Polybos C'est un document différent, donc ne sera pas trouvé avec ce sélecteur.
Qu'est-ce qui ne fonctionne pas? Qu'est-ce que
#customer code>? Quel est le
iframe code>?
oublie le #Ifframe. Dans mon cas, l'IDMA ID est #Customer. Trouvez-vous un problème dans la fonction ci-dessus. Cela fonctionne bien dans Firefox. Mais dans IE, il montre un problème dans la ligne de fichiers JQuery 4089 (fonction de contenu ()). Merci pour votre aide