Reputation: 21848
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
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
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
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