禁用“链接”;标记,而不访问HTML
Disable a "link" tag without access to HTML
所以我有一个网站,我正在工作,在一个部分,我们有一个嵌入式时事通讯注册。问题是嵌入的代码使用了自己的样式表,这干扰了站点的设计。嵌入是通过javascript完成的,所以我不能禁用它们,直到页面的那一部分加载。
基本上我需要一个script
来禁用整个<link>
。最重要的是,links
没有任何classes
或ids
,所以它们很难被瞄准。
<link rel="stylesheet" type="text/css" href="http://www.formstack.com/forms/css/3/default.css?20130404">
这是我需要禁用的链接之一。我试着寻找像getElementByType
或类似的东西,但我找不到任何东西。
任何帮助都会很感激。只要代码能关闭链接对我来说就足够了。也许有一种方法来搜索<link>
字符串的文档,并包围它的评论?
谢谢大家
PS,我是一个javascript新手,不知道我在做什么与js
var test = "http://www.formstack.com/forms/css/3/default.css";
for (var i = 0; i < document.styleSheets.length; i++) {
var sheet = document.styleSheets.item(i);
if (sheet.href.indexOf(test) !== -1) sheet.disabled = true;
}
这将工作,但它是低效的(仍然),因为它继续检查CSSStyleSheetList中的其他css样式表后,它已经找到了它的匹配。
如果你可以不关心浏览器支持,你可以使用Array.prototype.some来减少操作的数量
[].some.call(document.styleSheets, function(sheet) {
return sheet.disabled = sheet.href.indexOf(test) !== -1;
});
参见:Array some method on MDN
编辑:
对于性能和遗留支持的混合,可以使用以下解决方案:
var test = "http://www.formstack.com/forms/css/3/default.css";
for (var i = 0; i < document.styleSheets.length; i++) {
var sheet = document.styleSheets.item(i);
if (sheet.href.indexOf(test) !== -1) {
sheet.disabled = true;
break;
}
}
相关文章:
- 访问html元素值javascript
- 如何使用JavaScript访问HTML链接内容
- 通过ngModel访问html元素
- 访问HTML中的data-*属性并将其作为道具传递
- 访问HTML数据集
- 访问 HTML 文档中的 HTML
- 通过 Monoandroid 访问 HTML 元素值(Webview)
- 从不同的javascript文件访问HTML表单提交的值
- 通过它访问HTML元素's id DIRECTLY-这里发生了什么
- 通过HTTP服务器上的父级目录访问HTML中的JavaScript文件
- 从FORM访问HTML元素的JavaScript函数的单元测试用例
- Html对象标记:访问Html页面中的元素
- 问题:can't访问html模板AngularJS中的Json数据
- 如何访问HTML中的属性值以保存在数据库中单击按钮
- 如何从javascript访问html的STYLE标记中的class属性
- 从javascript文本模板访问HTML类
- 如何访问HTML表格单元格中的选择
- Javascript 无法访问 HTML(左右移动对象)
- 稍后通过 JavaScript 在文档中访问 HTML 元素
- 悬停时弹出文本框,无法访问 HTML