Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript变量附加到html脚本标记?_Javascript_Jquery_Html - Fatal编程技术网

如何将javascript变量附加到html脚本标记?

如何将javascript变量附加到html脚本标记?,javascript,jquery,html,Javascript,Jquery,Html,我有一些javascripts,其中我需要一个可变主机名,因为我将在dev、test和prod中运行我的脚本。如何将可变主机名放入javascript脚本标记中 我无法使用javascript本身构建此脚本标记。下面的例子不起作用。这是什么意思 var hostname=“sample.com”; 您可以为脚本标记指定一个id,然后执行如下操作 var hostName = 'http://sample.com/js/'; $( '<script />', {

我有一些javascripts,其中我需要一个可变主机名,因为我将在dev、test和prod中运行我的脚本。如何将可变主机名放入javascript脚本标记中

我无法使用javascript本身构建此脚本标记。下面的例子不起作用。这是什么意思


var hostname=“sample.com”;

您可以为
脚本
标记指定一个id,然后执行如下操作

var hostName = 'http://sample.com/js/';

$(
  '<script />', 
  { 
    type: 'text/javascript', 
    src: hostName + 'yourJSfile.js'
  }
).appendTo('head');


在构建完整的scr URL后,您可以动态地将脚本添加到页面中。以下是一个例子:


var hostname=“sample.com”;
const script=document.createElement('script');
script.src=hostname+'/ajax/libs/jquery/3.4.1/jquery.min.js'
document.body.appendChild(脚本);

var hostname=“sample.com”;
//javascript
document.getElementById(“link”).href=hostname;
//jquery代码
$(“#link”).attr(“href”,主机名);

使用javascript本身注册脚本。你可以这样用

var hostName = 'http://sample.com/js/';

$(
  '<script />', 
  { 
    type: 'text/javascript', 
    src: hostName + 'yourJSfile.js'
  }
).appendTo('head');
var-hostName=http://sample.com/js/';
$(
'', 
{ 
键入:“text/javascript”,
src:hostName+'yourJSfile.js'
}
).appendTo(“head”);

谢谢你,但是我的html页面中有太多的脚本标记,所以我无法使用javascript构建所有这些脚本标记。如果你将其工厂化为一个函数,将脚本添加到页面中,你可以这样做。否则,您可以在页面加载时解析所有脚本标记,并用新的属性替换src属性。如果您只想更改一些脚本标记,可以使用类属性只针对需要更新的脚本标记。这将完全生成新的url,但我只需要替换“”@GaneshPutta我已编辑了答案,请查看是否有帮助:)