Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查样式是否是在元素上定义的而不是继承的?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何检查样式是否是在元素上定义的而不是继承的?

Javascript 如何检查样式是否是在元素上定义的而不是继承的?,javascript,html,css,Javascript,Html,Css,如何检查元素上是否定义了样式?或者如何检查样式值是否继承 我有一个div,它有时可能继承样式值。我想知道样式值是否被继承 var-element=document.getElementById(“a”); var property=“--我的风格”; var value=element.style.getPropertyValue(属性); var computedValue=window.getComputedStyle(元素).getPropertyValue(属性); console.l

如何检查元素上是否定义了样式?或者如何检查样式值是否继承

我有一个div,它有时可能继承样式值。我想知道样式值是否被继承

var-element=document.getElementById(“a”);
var property=“--我的风格”;
var value=element.style.getPropertyValue(属性);
var computedValue=window.getComputedStyle(元素).getPropertyValue(属性);
console.log(“A值:“+value”);
log(“计算值:”+computedValue);
元素=document.getElementById(“b”);
value=element.style.getPropertyValue(属性);
computedValue=window.getComputedStyle(元素).getPropertyValue(属性);
控制台日志(“B值:”+值);
log(“B计算值:+computedValue”)
#a{
--我的风格:A;
}
#b{
}

你好,世界

这是否回答了您的问题?您可以很容易地判断样式是否是使用
HTMLElement.style[property]
HTMLElement
上手动定义的,但是当您将CSS引入等式时,它会变得混乱。您唯一的选择是迭代页面上的所有
style
元素,然后在每个
style.sheet.cssRules[i]上运行正则表达式。如@SMAKSS链接的帖子中所提供的,选择OrText
。虽然关闭了,但我没有使用JQuery。我在链接的帖子上看到了答案。老实说,我不认为这是对“财产x值是继承的”的回答,这种方法效率低得离谱,你应该完全放弃它。我列出的也是vanilla JS,没有jQuery。答案似乎是,“没有。没有办法判断是否继承了样式。”除了所有web开发人员工具都能够按顺序显示完整的继承级联样式值和声明之外。如果在JavaScript中无法做到这一点,那么这似乎是一个重要的缺失功能。这是否回答了您的问题?您可以很容易地判断样式是否是使用
HTMLElement.style[property]
HTMLElement
上手动定义的,但是当您将CSS引入等式时,它会变得混乱。您唯一的选择是迭代页面上的所有
style
元素,然后在每个
style.sheet.cssRules[i]上运行正则表达式。如@SMAKSS链接的帖子中所提供的,选择OrText
。虽然关闭了,但我没有使用JQuery。我在链接的帖子上看到了答案。老实说,我不认为这是对“财产x值是继承的”的回答,这种方法效率低得离谱,你应该完全放弃它。我列出的也是vanilla JS,没有jQuery。答案似乎是,“没有。没有办法判断是否继承了样式。”除了所有web开发人员工具都能够按顺序显示完整的继承级联样式值和声明之外。如果在JavaScript中无法做到这一点,那么它似乎是一个重要的缺失特性。