【问题标题】:Changing "src" attribute of <script>更改 <script> 的“src”属性
【发布时间】:2023-03-12 23:14:02
【问题描述】:

是否可以使用 Jquery.attr() 更改现有 &lt;script&gt; 元素的“src”属性?这似乎是让 JSONP 工作的一种简单方法,但我无法为我完成这项工作。

【问题讨论】:

  • 为什么不直接向 dom 添加一个新的脚本元素?

标签: javascript jquery html


【解决方案1】:

原来脚本的src只能设置一次!无法更改 DOM 中现有 &lt;script&gt; 元素的 src 属性。但是,动态创建的 &lt;script&gt; 元素可以有其源集(但恰好一次!)

【讨论】:

  • 我知道这是一个旧答案,但你有任何链接来支持这个。我遇到了类似的问题,到目前为止没有任何效果。任何有关这方面的阅读材料肯定会有所帮助。
【解决方案2】:

如果您尝试加载脚本,则可以改用 getScript。

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

或者,如果您出于其他原因想要更改 src,因为脚本标签不能有 id,您可以使用符合 HTML5 的data-id 属性,或者使用现有的 src 进行匹配。然后您可以使用attr 更改 src 值。但这可能不会在所有浏览器上加载脚本。

【讨论】:

  • “因为脚本标签不能有 id,” 当然可以,不管你怎么想?!
【解决方案3】:

虽然,是的,这是可能的,但您不需要手动执行此操作,因为 jQuery 对 JSON-P 请求具有良好的内置支持。请参阅 $.getJSON$.ajax 方法的文档。

【讨论】:

  • 这不是问题。问题是“如果脚本标签是预先存在的,你能改变 src 吗?”
  • 非常感谢。再次阅读您的问题;它读起来就像有人想要做 JSON-P 但认为他们必须手动做。如果您想手动执行,请参阅 Aram 的答案。
  • 不是没有感激之情——你把问题解释错了。问题不是关于如何在 JQ 中执行 JSONP,而是关于更改脚本 src 的技术点。您的回答没有帮助。
猜你喜欢
  • 2012-10-09
  • 2013-02-24
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多