繁体   English   中英

如何通过javascript或jquery修改css的selector *

[英]How to modify the selector * of css through javascript or jquery

我想知道是否可以通过javascript或jquery修改css的“*”选择器。

例如,我有以下内容:

* {
margin: 0px;
padding: 0px;
list-style: none;
text-decoration: none;
font-family: 'Roboto', sans-serif;
}

我需要通过javascript或jquery“font-family”进行修改。

从技术上讲,*选择所有元素。 所以,所有HTML元素都应该在正文中,对吗? 因此,当您更改它时,更改整个身体而不是所有元素。

$('body').CSS({'font-family':})

要么

$('*').CSS({'font-family':})

首先,您应该选择DOM的元素。 然后我们可以通过使用javascript做任何我们想要的事情,如下所示。

getElementsByTagName("*")将返回DOM中的所有元素。

var allElements = document.getElementsByTagName("*");
for (var i = 0, len = allElements.length; i < len; i++) {
    var element = allElements[i];
    // Change any style you want 
    // Ex- element.style.border = ...
}

参考: https//www.w3schools.com/jsref/met_document_getelementsbytagname.asp

你的选择器就是* ...

所以做$("*").css({"font-family": "Arial"}); 如果使用jQuery ...

但是纯JavaScript,你可以这样做:

document.querySelectorAll("*").forEach(el => el.style.fontFamily = "Arial");

您可以在纯Javascript中执行以下操作:

 var everything = document.querySelectorAll("*");

 for(var i=0; i < everything.length; i++) {
     everything[i].style.fontFamily = "Arial";
     //add your CSS styles here
 }

这将循环遍历DOM中的每个元素并添加CSS。

或者,如果您使用的是Jquery,则可以采用更简单的方法。 见下文

  $("*").css("font-family","Arial");

或者只是简单地塑造身体

$("body").css("font-family","Arial");

您可以访问您的样式表FOM JS和直接改变他们(而不是由过滤器/更改任何HTML节点)更多信息在这里

 let rules=document.styleSheets[0].cssRules; let rule= [...rules].find(r=> r.selectorText=="*" ); rule.style.fontFamily="cursive"; 
 * { margin: 0px; padding: 0px; list-style: none; text-decoration: none; font-family: 'Roboto', sans-serif; } 
 Example test <div style="font-family: 'Roboto'">No font change</div> 

尝试这个

$("*").css({"font-family": "your-font"});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM