假设我有一个名为 style.css 的 CSS 文件,并且页面中加载了更多。如果样式表的文件名是 style.css(不管路径和 URL),如何使用 jQuery 自动删除它们?
我正在使用它,但它不起作用:
$('link[rel=stylesheet][href~="style.css"]').remove();
我这样做是因为如果某个条件为真(使用 JS 检查),我不希望它们被加载。是否有其他方法可以防止使用 jQuery 将 CSS 文件加载到浏览器?
感谢您的提示。
我建议使用服务器端解决方案。设置条件以从代码中添加/省略样式标签。即使它来自像 iFrame 这样的第三方,您也可以始终使用 cURL 来获取数据并在将其发送到浏览器之前删除样式标签。
专注于在需要时添加样式,而不是在不需要时删除它。
看看yepnope js
yepnope([{
test : /* boolean(ish) - Something truthy that you want to test */,
yep : /* array (of strings) | string - The things to load if test is true */,
nope : /* array (of strings) | string - The things to load if test is false */,
both : /* array (of strings) | string - Load everytime (sugar) */,
load : /* array (of strings) | string - Load everytime (sugar) */,
callback : /* function ( testResult, key ) | object { key : fn } */,
complete : /* function */
}, ... ]);
body
为您的标签添加一个类,例如: condition1
. 制作你所有的 CSS
body.condition1 .something {
width: 100px;
height: 100px;
}
为您的每个条件执行此操作,然后您可以根据您的条件使用 jqueryadd
或类。remove