Changing "src" attribute of <script>

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!)


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.


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.