在下面的代码中,我已经说明了我想要实现的目标……
通过向其添加新规则来更改现有CSS类.
<head>
<style>
h4.icontitle
{font-size: 22pt;}
</style>
</head>
<body>
<script type="text/javascript">
textpercent = 84;
document.styleSheets[1].cssRules.['h4.icontitle'].style.setProperty('-webkit-text-size-adjust', textpercent+'%', null);
</script>
<h4> hello </h4>
</body>
这适用于在不同大小的屏幕上运行的站点的预处理元素.
结果将是……
h4.icontitle
{font-size: 22pt;
-webkit-text-size-adjust:84%;}
在检查DOM时会看到哪些内容.
任何想法都会受到欢迎.仅限Javascript – 此处没有JQuery …
解决了.
经过大量的试验和错误,这里有一个工作函数,允许javascript直接将样式插入CSS
function changeCSS(typeAndClass, newRule, newValue)
{
var thisCSS=document.styleSheets[0]
var ruleSearch=thisCSS.cssRules? thisCSS.cssRules: thisCSS.rules
for (i=0; i<ruleSearch.length; i++)
{
if(ruleSearch[i].selectorText==typeAndClass)
{
var target=ruleSearch[i]
break;
}
}
target.style[newRule] = newValue;
}
叫着
changeCSS("h4.icontitle","backgroundColor", "green");
希望其他人会发现这是一个在纯JavaScript中使用CSS中的变量的有用方法.
最佳答案 我举了一个适合你需要的例子
DEMO jsFiddle
// this gets all h4 tags
var myList = document.getElementsByTagName("h4"); // get all p elements
// this loops through them until it finds one with the class 'icontitle' then it assigns the style to it
var i = 0;
while(i < myList.length) {
if(myList[i].className == "icontitle") {
myList[i].style.color="red";
}
i++;
}