/ / Déterminer de manière pragmatique la largeur d'un div à l'intérieur d'un iFrame via jQuery - jquery, html, iframe, width

Déterminer de manière pragmatique la largeur d'un div à l'intérieur d'un iFrame via jQuery - jquery, html, iframe, width

J'ai un div. Ce div vit à l'intérieur d'un iframe. Ce div a une largeur. Je voudrais obtenir cette largeur via jQuery. Ci-joint quelques-unes de mes aventures à le faire. Amusez-vous!

http://i.imgur.com/AXdfU61.jpg
http://i.imgur.com/Y9MB6Sg.jpg

MODIFIER - Aussi pourquoi ma console génère-t-elle des erreurs si je commence une ligne avec un $?

EDIT 2 - Simplification de la question aux bases de l'os nu.

Réponses:

1 pour la réponse № 1

Dans jquery, vous pouvez faire quelque chose comme ceci:

$("#iframeId").contents().find("#divId").width();

Puisque votre iframe n'a pas d'identifiant, changezou le trouver par d'autres moyens, vous pouvez utiliser $ ("iframe") pour répertorier tous les iframes dans votre document. Par rapport à vos essais, si vous utilisez $ (". Span9"), cela trouvera tous les éléments de cette classe, vous devez donc également trouver un autre moyen d'obtenir votre élément.


0 pour la réponse № 2

En utilisant $("#IDofDIV").width(); Vous devrez utiliser un ID au lieu d'une classe pourl'élément dont vous souhaitez redimensionner / obtenir la largeur. Les classes abritent de nombreux éléments, il pourrait même y avoir des centaines d'éléments avec la même classe. Vous devez spécifier quel élément, pas un groupe d'éléments.

L'utilisation d'un identifiant serait donc la chose la plus simple, bien qu'il existe de nombreuses autres façons.

Voici un lien vers .width(); Documentation.

De plus, vous utilisez un iFrame donc vous pouvez avoir du mal à exécuter des scripts à partir de la console. Voir le premier commentaire sous votre question où @PlantTheIdea a donné une explication à cela.


0 pour la réponse № 3

Je l'ai résolu. Bien que ma solution de contournement pour ce problème fonctionne, j'ai eu plusieurs autres problèmes avec jQuery sur mon site. À savoir, le $ ne fonctionne pas dans la console. Je savais que j'avais référencé jQuery, mais $ n'était pas un objet valide.

Il s'avère que lorsque jQuery s'exécute en mode non conflictuel, le $ n'est pas disponible dans le cas d'utilisation standard. Au lieu de cela, vous lui passez la fonction de document prêt comme ceci:

jQuery (document) .ready (fonction ($) {

Maintenant, c'est un objet valide et peut être utilisé normalement. Cela permet à jQuery de s'exécuter en mode non conflictuel et d'avoir toujours accès à $

Vous pouvez en lire plus ICI: http://codex.wordpress.org/Function_Reference/wp_enqueue_script

(section jQuery noConflict Wrappers)

J'espère que cela aide quelqu'un!