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

问题描述 投票:4回答:6

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

例如,我有以下内容:

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

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

javascript jquery html css
6个回答
5
投票

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

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

要么

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

4
投票

首先,您应该选择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


4
投票

只是同样的东西你的选择器将是* ...

如果使用jQuery,$("*").css({"font-family": "Arial"});也是如此...

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

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

3
投票

您可以从JS访问样式表并直接更改它们(而不是通过过滤/更改任何html节点)更多信息qazxsw poi。

here
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;
}

3
投票

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

Example test

<div style="font-family: 'Roboto'">No font change</div>

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

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

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

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

或者只是简单地塑造身体

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

1
投票

试试这个

$("body").css("font-family","Arial");
© www.soinside.com 2019 - 2024. All rights reserved.