Javascript 如何获取';有人在用什么?

Javascript 如何获取';有人在用什么?,javascript,css,variables,Javascript,Css,Variables,考虑以下代码: /* css */ :root { --text-color: #666666; } input { color: var(--text-color); } 我如何知道,使用Javascript时,使用的名称是什么 上下文:我正在编写测试,以检查元素是否具有它应该具有的正确颜色(或CSS变量)。这里我刚刚给出了示例代码 如果我们在输入文本框中使用下面的CSS .color { color: red; } <!--- Html code --->

考虑以下代码:

/* css */
:root {
  --text-color: #666666;
}

input {
  color: var(--text-color);
}
我如何知道,使用Javascript时,使用的名称是什么


上下文:我正在编写测试,以检查元素是否具有它应该具有的正确颜色(或CSS变量)。

这里我刚刚给出了示例代码

如果我们在输入文本框中使用下面的CSS

.color {
    color: red;
}

<!--- Html code --->

<input type="text" name="name" id="name" class="color">

<!--- JS code --->
var cssName = document.getElementById('name').getAttribute('class');
console.log(cssName);
.color{
颜色:红色;
}
var cssName=document.getElementById('name').getAttribute('class');
console.log(cssName);

希望如此。为了从样式表中获取样式,您需要使用

var input=document.querySelector('input');
//console.log(输入.样式.颜色);这是你的原始代码,我已经注释掉了,因为它似乎把你弄糊涂了
//打印“”,而不是“var(--文本颜色)或#666666”。
log(rgbToHex(window.getComputedStyle(input.getPropertyValue('color')));
//这是新代码,按要求打印#666666
功能rgbToHex(彩色){
color=”“+颜色;
如果(!color | | color.indexOf(“rgb”)<0){
返回;
}
if(color.charAt(0)=“#”){
返回颜色;
}
var nums=/(.*)rgb\(\d+)\s*(\d+)\s*(\d+)/i.exec(颜色),
r=parseInt(nums[2],10).toString(16),
g=parseInt(nums[3],10).toString(16),
b=parseInt(nums[4],10).toString(16);
返回“#”+(
(r.长度==1?“0”+r:r)+
(g.长度==1?“0”+g:g)+
(b.长度==1?“0”+b:b)
);
}
:根目录{
--文字颜色:#666666;
}
输入{
颜色:var(--文本颜色);
}

这一定是SASS或SCSS,看起来不像常规CSS。@dmikester1@dmikester1这是常规CSS。只是想知道。。。你为什么需要这个名字?通常,您已经知道名称,并且只对从样式表中获取样式所需的值感兴趣。您不使用CSS变量。颜色是我的CSS变量,颜色是您的类名。此外,红色是颜色属性的值。请看一看。实际上,问题是,需要使用css变量获取文本框。对吗?这里,我的css变量是color,使用JS我得到了css变量。是吗?@jawaharN从你的角度来看。。。可能是。。。但是
color
在这里并不是一个实际的CSS变量,这是事实。
input.style.color
返回空字符串。是的-这是您的原始代码-您希望后面的行使用新代码
.color {
    color: red;
}

<!--- Html code --->

<input type="text" name="name" id="name" class="color">

<!--- JS code --->
var cssName = document.getElementById('name').getAttribute('class');
console.log(cssName);