javascript - 使用JavaScript更改CSS中单词的所有出现

标签 javascript css replace

我已经看到我们可以使用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/

相关文章:

javascript - Python - 使用 selenium 的 javascript 网页抓取无法正常工作

javascript - 我该如何调试这个 JavaScript 错误?

javascript - 用 next 和 prev 突出显示 P 标签

c# - 应用程序运行时替换exe文件

javascript - AngularJS - 等待加载数据以显示 View

javascript - jQuery jsonp 隐藏 api key

css - 在 codepen 中使用 awesome 字体

css - 当函数被注释掉时,SCSS 不会编译 - CompileSass

Python:替换字典值中的单个字符

sql - 替换表列中的部分字符串