Is it possible to change the "src" attribute of an existing <script> element using Jquery.attr()? It seemed like a simple way to get JSONP to work but I am not able to make this work for me.
-
Why not just add a new script element to the dom?Erik Philips– Erik Philips2012-04-04 08:39:21 +00:00Commented Apr 4, 2012 at 8:39
3 Answers
It turns out that a script's src can only be set once! It is not possible to change the src attribute of an existing <script> element in the DOM. However, a dynamically created <script> element can have its source set (but exactly once!)
1 Comment
If you're trying to load a script, you could instead use getScript.
http://api.jquery.com/jQuery.getScript/
Or, if you want to change the src for another reason, since script tags can't have id's, you could either use an HTML5 compliant data-id attribute, or match using the existing src. Then you could just change the src value using attr. But this may not load the script on all browsers.
1 Comment
Whilst, yes, this is possible, you don't need to do this manually as jQuery has good built-in support for JSON-P requests. See the documentation for the $.getJSON and $.ajax methods.