gpt4 book ai didi

javascript - 独立于浏览器的方法来确定哪些 CSS 属性被样式属性覆盖

转载 作者:行者123 更新时间:2023-11-28 15:37:17 25 4
gpt4 key购买 nike

是否有任何跨浏览器的方法来确定哪些 CSS 属性是通过 JavaScript 手动设置的?或者,可能是哪些 CSS 属性被样式属性覆盖了?

cssText 属性是否标准且跨浏览器:document.getElementById('id').style.cssText

另一种可能的解决方案是使用包装函数。最简单的例子:

function css(node, prop, value)
{
$(node).css(prop, value);
memory[node][prop] = value; // remember that we set prop for the node
}

最佳答案

您始终可以获取样式属性并删除值:

非 JQuery 想法:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title></title>
</head>
<body>
<span id="aspan" style="color:red; background-color: blue;">Hey Hey Hey</span>
<script>

String.prototype.trim = function () {
return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

var sp = document.getElementById("aspan");
var stys = sp.getAttribute("style").split(";");
var rules = {};
for(var i=0; i<stys.length;i++){
var sty = stys[i].split(":");
if(sty.length>=2){
rules[sty.shift().trim().toLowerCase()] = sty.join(":").trim();
}
}

alert(rules["color"]);
alert(rules["background-color"]);

</script>
</body>
</html>

JSBIN

这不会捕获通过 JS 代码添加的内容。又名 elem.style.foo="bar"

关于javascript - 独立于浏览器的方法来确定哪些 CSS 属性被样式属性覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com