Javascript 在html中向脚本行添加类

Javascript 在html中向脚本行添加类,javascript,html,css,Javascript,Html,Css,我可以使用CSS隐藏脚本行吗?例如,如果我们将class=“slider”添加到脚本行,如下所示: <script class="slider" type="text/javascript" src="assets/js/slider.js"></script> 我之所以这样做,是因为我想在调用特定样式表时启用js。看看这个相关问题,找到一种通过JavaScript包含CSS的方法:至少目前,假设您仅在文档加载期间加载样式表。然后,您可以执行以下操作: function

我可以使用CSS隐藏脚本行吗?例如,如果我们将class=“slider”添加到脚本行,如下所示:

<script class="slider" type="text/javascript" src="assets/js/slider.js"></script>

我之所以这样做,是因为我想在调用特定样式表时启用js。看看这个相关问题,找到一种通过JavaScript包含CSS的方法:

至少目前,假设您仅在文档加载期间加载样式表。然后,您可以执行以下操作:

function checkLoadedSheetsForHref(href) {
    for (var i = 0; i < document.styleSheets.length; ++i) {
        if (document.styleSheets[i].href == href) {
        // or if you just want to check the filename, check if href contains it:
        // if (document.styleSheets[i].href.indexOf(href) != -1) { 
            return true;
        }
    }
    return false;
}

document.onload = function() {
    if (checkLoadedSheetsForHref("assets/js/slider.js")) {
        // enable whatever js you want
    }
}
函数checkLoadedSheetsForRef(href){
对于(var i=0;i

如果您有动态加载样式表的功能,则可以设置计时器以等待加载样式表,或者在添加样式表的内容中添加一个
onload
,或者只检查正在加载的字符串。

我会这样做。不言自明:

var SliderVar = document.getElementById("slider");
if (SliderVar.style.display == "none") {
    var showScript = false;  
} else {
    var showScript = true;   
}
if(showScript) {
  var sc = document.createElement('script');
  sc.src = 'assets/js/slider.js';
  sc.type = 'text/javascript';
  if(typeof sc['async'] !== 'undefined') {
     sc.async = true;
  }  
  document.getElementsByTagName('head')[0].appendChild(sc);
}

CSS用于显示控制。脚本标记始终隐藏。通过CSS“隐藏”它不会阻止代码运行。CSS不能用于打开或关闭代码。为什么不从脚本中选择样式表?没有“类”脚本的参数。您不能使用CSS禁用脚本,您必须使用Javascript。@APAD1:我在该页面上没有看到任何显示“类”的地方是脚本@Adrift的一个属性。老实说,我不明白这是怎么回事?它将名为
showScript
var
设置为默认值false。如果满足条件,则在
if
语句中将其设置为
true
。条件是如果滑块设置为不显示,则脚本将显示将不包括在内。
var SliderVar = document.getElementById("slider");
if (SliderVar.style.display == "none") {
    var showScript = false;  
} else {
    var showScript = true;   
}
if(showScript) {
  var sc = document.createElement('script');
  sc.src = 'assets/js/slider.js';
  sc.type = 'text/javascript';
  if(typeof sc['async'] !== 'undefined') {
     sc.async = true;
  }  
  document.getElementsByTagName('head')[0].appendChild(sc);
}