Modifier l'attribut iframe avec jquery
J'ai quelque chose comme:
<iframe id="frame" width="200" height="150"
src="http://www.youtube.com/embed/GiZGEFBGgKU?rel=0&
amp&iv_load_policy=3;autoplay=1" frameborder="0" allowfullscreen></iframe>
Et je veux changer la largeur et la hauteur à l'aide de jquery j'ai essayer:
$("#frame").setAttribute("width", "50");
$("iframe").setAttribute("width", "31");
Aucun d'eux ne fonctionne
source d'informationauteur Ben
Vous devez vous connecter pour publier un commentaire.
Comme Sarfraz l'a déjà souligné, la bonne façon de définir l'attribut d'un sélecteur jquery objet est à l'aide de la
attr("attrName", "attrVal")
. La raison pour laquelle lesetAttribute
n'a pas de travail est quelque chose vaut la peine d'expliquer, comme je l'ai frappé ma tête contre ce point à plus d'une occasion:Lorsque vous utilisez jquery sélecteur de syntaxe, elle retourne un objet -- défini dans jquery -- qui est essentiellement une liste de tous les éléments qui le sélecteur de correspondance. Si elle correspond à un élément (ce qui devrait toujours être le cas avec un sélecteur d'id) ou plus d'un, l'objet retourné est l'élément de la liste, jamais un seul objet DOM (par exemple un seul élément).
setAttribute
est une méthode de réelsHTMLElement
objets.C'est pourquoi
fonctionne, mais
ne le fait pas. Le jquery élément n'a pas cette méthode, même si la
HTMLElement
des objets dans sa liste de le faire.Si vous voulais (pour quelque raison que ce soit) l'utilisation d'un natif
HTMLElement
de la méthode (ou une méthode commune pour les éléments de votre sélection retourne, tels que des entrées, etc), vous pouvez utiliser du jqueryeach()
méthode, comme suit:La
each()
de la méthode de rappel peuvent être transmises de deux paramètres facultatifs, la première étant l'indice de l'élément dans la liste de sélection, la seconde étant l'effectif de l'élément DOM, que vous pouvez appeler natif méthodes du DOM.Comme je l'ai dit, j'ai eu vraiment frustré d'essayer de comprendre comment faire pour utiliser jquery sélecteur de résultats avec des méthodes indigènes plus d'une fois, j'espère que cela aide à faire disparaître non seulement pourquoi
setAttribute()
ne fonctionne pas, mais des méthodes indigènes en général, et comment le fait de les amener à travailler lorsque vous ne pouvez pas trouver le jquery équivalent.Ce sujet:
ou
1) à l'Aide de
attr
:2) à l'Aide de DOM objet:
Edit: Vu que vous avez des id. Pourriez-vous voir si le code est effectivement en cours d'exécution? Comme est-il déclenché? Essayez également de changer
allowfullscreen
àallowfullscreen="true"