我已经看到我们可以使用document.body.innerHTML = document.body.innerHTML.replace(/hello/g, 'hi');
使用javascript更改HTML中所有文本的出现,但是我正在尝试更改CSS文件中的所有出现。
我正在尝试做的是这样的:
var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var proportion = w/h;
if (proportion > 1.59) {
// width > height
document.body.innerHTML = document.body.innerCSS(?).replace(/vw/g, 'vh');
} else {
// height > width
document.body.innerHTML = document.body.style(?).replace(/vh/g, 'vw');
}
就像页面宽度较大时将vw更改为vh,而高度较大时将vh更改为vw一样。
最佳答案
您可以通过javascript修改样式表规则选择器:
Fiddle
function replace_css_selector(search_value, new_value) {
var css_styles = "";
var style = null;
for (var i = 0; i < document.styleSheets.length; i++) {
with(document.styleSheets[i]) {
if (typeof css_rules != "undefined") {
style = css_rules;
} else if (typeof rules != "undefined") {
style = rules;
}
}
for (var item in style) {
if (style[item].cssText != undefined) {
css_styles = (style[item].cssText);
style[item].selectorText = style[item].selectorText.replace(search_value, new_value);
}
}
}
return style;
}
list = replace_css_selector(/vh/g, 'vw');
关于javascript - 使用JavaScript更改CSS中单词的所有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41145580/