2012-04-04 96 views
5

¿Es posible cambiar el atributo "src" de un elemento existente <script> utilizando Jquery.attr()? Parecía una forma simple de hacer que JSONP funcionara, pero no puedo hacer que esto funcione para mí.Cambiar el atributo "src" de <script>

+0

¿Por qué no acaba de agregar un nuevo elemento de guión al dom? –

Respuesta

15

Resulta que un script src puede solo establecerse una vez! No es posible cambiar el atributo src de un elemento <script> existente en el DOM. Sin embargo, un elemento <script> creado dinámicamente puede tener su fuente establecida (pero exactamente una vez!)

+2

sé que esta es una respuesta anterior, pero ¿tiene algún enlace para apoyar esto? Tengo un problema similar y nada funciona hasta ahora. cualquier material de lectura con respecto a esto sin duda ayudaría. – ChickenWing24

3

Si está intentando cargar un script, en su lugar podría usar getScript.

http://api.jquery.com/jQuery.getScript/

O bien, si desea cambiar el src por otra razón, ya que las etiquetas de secuencia de comandos no pueden tener identificadores, se puede utilizar ya sea una HTML5 compliant data-id atributo o partido mediante el src existente. Entonces podría simplemente cambiar el valor src usando attr. Pero esto puede no cargar la secuencia de comandos en todos los navegadores.

+0

* "dado que las etiquetas de guiones no pueden tener id's", "¡Claro que sí pueden, lo que sea que te haga pensar lo contrario!" –

3

Mientras, sí, esto es posible, no es necesario hacerlo manualmente ya que jQuery tiene un buen soporte incorporado para las solicitudes JSON-P. Consulte la documentación para los métodos $.getJSON y $.ajax.

+1

Esta no es la pregunta. La pregunta es "¿puedes cambiar el src si la etiqueta del script ya existe?" –

+1

Agradable gratitud. Lee tu pregunta de nuevo; se lee como alguien que quiere hacer JSON-P, pero pensó que tenían que hacerlo manualmente. Si quieres hacerlo manualmente, mira la respuesta de Aram. –

+3

No es cuestión de no tener gratitud; interpretaste mal la pregunta. La pregunta no era sobre cómo hacer JSONP en JQ, sino que era un punto técnico sobre el cambio de script src. Tu respuesta no fue útil. –

Cuestiones relacionadas