Javascript 在html中向脚本行添加类
我可以使用CSS隐藏脚本行吗?例如,如果我们将class=“slider”添加到脚本行,如下所示: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
<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);
}