Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Jquery 从页面中删除所有CSS样式表_Jquery_Css - Fatal编程技术网

Jquery 从页面中删除所有CSS样式表

Jquery 从页面中删除所有CSS样式表,jquery,css,Jquery,Css,我想显示一个没有任何css应用的页面。是否可以在页面内添加jquery开关以禁用所有样式表?尝试以下操作: $('link[rel="stylesheet"]').remove(); 这将从页面中删除所有样式表(由于这些样式表,所有样式都适用)。如果您希望在单击后触发它: $(".element").click(function(){ $("link[rel='stylesheet']").remove(); }); 或在开始时: $(document).ready(functio

我想显示一个没有任何css应用的页面。是否可以在页面内添加jquery开关以禁用所有样式表?

尝试以下操作:

$('link[rel="stylesheet"]').remove();

这将从页面中删除所有样式表(由于这些样式表,所有样式都适用)。

如果您希望在单击后触发它:

$(".element").click(function(){
    $("link[rel='stylesheet']").remove();
});
或在开始时:

 $(document).ready(function(){
        $("link[rel='stylesheet']").remove();
 });
试试这个

$('link[rel="stylesheet"]').remove();

只是花了几分钟草拟了一份

 (function(f,a,s,x){
  x=$(a);x.map(function(i,o){o=$(o);o.data(s+s,o.attr(s));o.removeAttr(s)});
  $(s+',link[rel='+s+'sheet]').appendTo(f);
  setTimeout(function(){
   $(a,f).appendTo('head');
   x.map(function(i,o){o=$(o);o.attr(s,o.data(s+s))})
  },999);
 })($('<i>'),'*','style');
(函数(f,a,s,x){
x=$(a);x.map(函数(i,o){o=$(o);o.data(s+s,o.attr(s));o.removeAttr(s)});
$(s+',link[rel='+s+'sheet]')。附录(f);
setTimeout(函数(){
$(a,f).附于('标题');
x、 map(函数(i,o){o=$(o);o.attr(s,o.data(s+s))})
},999);
})($('')、'*'、'style');

将此文件放在准备就绪的位置:

$('link[rel=stylesheet]').remove();

或者把它绑在按钮上。

一种粗糙、肮脏、野蛮的方法:

document.querySelector("head").remove();
可以粘贴为书签URL的同一代码的bookmarklet版本

您还可以将其粘贴到地址栏中(出于安全原因,当您粘贴文本时,chrome/firefox会删除开头的
javascript:
位,因此您需要手动键入):

禁用所有

StyleSheetList.prototype.forEach=Array.prototype.forEach; // *Note
document.styleSheets.forEach((ss)=>ss.disabled=true);
或(全部禁用)

或(全部删除)

或(全部删除)

*注意: 如果您不想更改原型,可以这样调用它:

Array.prototype.forEach.apply(document.styleSheets,[(ss)=>ss.disabled=true])

使用下面的代码删除所有类型的样式,包括内联样式、内部样式和外部样式

let elements=document.querySelectorAll(“*”);
elements.forEach(el=>{
如果(el.tagName==“LINK”| | el.tagName==“STYLE”)el.remove();
else el.removeAttribute(“风格”);

});与@techfoobar答案有任何差异吗?如果样式表在文档中,则它不起作用()(var each of document.querySelectorAll('link[rel=“stylesheet”]”){each.remove();}
实际用途可能是什么?可能是测试,但测试人员可能会知道如何使用浏览器工具实现这些目的。即使IE现在也有一个工具来禁用作者样式表。检查我的答案并将其标记为答案,因为它可以与任何样式表一起工作,包括嵌入式样式表:谢谢各位。我想向客户展示t他强调了设计的重要性,让他有机会禁用网站的css样式。如果他能自己触发,那就更有说服力了:)这将删除样式表中的所有内容,而不仅仅是样式表。这正是我将此方法标记为野蛮和肮脏的原因。@Zibri:如果需要更细粒度的控制,请右键单击页面(在chrome/Firefox中)选择Inspect,在标题部分找到加载CSS文件的标记,右键单击标记,然后选择Remove。如果样式表在文档中,则它不起作用()我的答案比这更干净:D
for(styleSheet of document.styleSheets){ styleSheet.disabled=true; }
StyleSheetList.prototype.forEach=Array.prototype.forEach;
document.styleSheets.forEach((ss)=>ss.ownerNode.parentNode.removeChild(ss.ownerNode));
for(styleSheet of document.styleSheets){ styleSheet.ownerNode.parentNode.removeChild(styleSheet.ownerNode); }
Array.prototype.forEach.apply(document.styleSheets,[(ss)=>ss.disabled=true])