KJ Saxena
KJ Saxena

Reputation: 21848

Changing "src" attribute of <script>

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.

Upvotes: 5

Views: 8921

Answers (3)

KJ Saxena
KJ Saxena

Reputation: 21848

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

Upvotes: 15

user736788
user736788

Reputation:

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.

Upvotes: 3

Aram Kocharyan
Aram Kocharyan

Reputation: 20431

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.

Upvotes: 3

Related Questions