Javascript 单击复选框时更改Div颜色
单击复选框时,我试图通过为Javascript 单击复选框时更改Div颜色,javascript,html,css,Javascript,Html,Css,单击复选框时,我试图通过为onchange分配一个函数来更改div的颜色。对于函数中的var divid和var复选框,我都会得到null。我错过什么了吗?或者只有使用CSS才能做到这一点 功能检查(cbid,id){ var div=document.getElementById(id); var checkbox=document.getElementById(cbid); 控制台日志(div); console.log(复选框); 如果(checkbox.checked==true){
onchange
分配一个函数来更改div
的颜色。对于函数中的var div
id和var复选框
,我都会得到null
。我错过什么了吗?或者只有使用CSS才能做到这一点
功能检查(cbid,id){
var div=document.getElementById(id);
var checkbox=document.getElementById(cbid);
控制台日志(div);
console.log(复选框);
如果(checkbox.checked==true){
div.style.backgroundColor=“红色”;
}否则{
div.style.backgroundColor=“黑色”;
}
}
。不包括价格{
最小高度:55px;
填充:13px0;
边框顶部:1px实心#eaeaea;
浮动:左;
宽度:100%;
位置:相对位置;
清除:左;
利润率:10px0;
背景#f5fbf5;
边界半径:3px;
}
.不含价格:悬停{
背景色:白色;
}
.排除价格.ep复选框{
填充:0 13px 0 0;
左边距:10px;
浮动:左;
}
.ep checkbox.epc{
填充:0;
保证金:0;
边界:0;
}
排除价格。ep名称{
宽度:240px;
浮动:左;
}
.epn名称{
填充:0;
保证金:0;
显示:块;
光标:指针;
字体大小:粗体;
字体大小:13px;
颜色:#003580;
}
.epn说明{
左边距:35px;
填充:8px 0 13px 0;
显示:块;
字体大小:.923em;
字体大小:正常;
颜色:#537bb4;
光标:指针;
}
.ep价格{
显示:无;
浮动:对;
边缘顶部:-45px;
垫底:15px;
}
.epp总计{
宽度:90px;
浮动:对;
右边距:5px;
}
.总标题{
文本对齐:居中;
填充:0 3px 0;
保证金:0;
}
.eppt价格{
颜色:#0898ff;
文本对齐:居中;
填充:0 3px 0;
边际上限:0;
}
互联网(有线)
互联网可用于整个物业和成本&欧元;百分之十四
白天
总计
BAM 28
您缺少单引号:
check('cbinternet','internet')
您缺少单引号:
check('cbinternet','internet')
问题是您需要将字符串值传递给
check
函数。因此,只需添加这样的引号:
onchange="check('cbinternet','internet')"
或:
功能检查(cbid,id){
var div=document.getElementById(id);
var checkbox=document.getElementById(cbid);
控制台日志(div);
console.log(复选框);
如果(checkbox.checked==true){
div.style.backgroundColor=“红色”;
}否则{
div.style.backgroundColor=“黑色”;
}
}
。不包括价格{
最小高度:55px;
填充:13px0;
边框顶部:1px实心#eaeaea;
浮动:左;
宽度:100%;
位置:相对位置;
清除:左;
利润率:10px0;
背景#f5fbf5;
边界半径:3px;
}
.不含价格:悬停{
背景色:白色;
}
.排除价格.ep复选框{
填充:0 13px 0 0;
左边距:10px;
浮动:左;
}
.ep checkbox.epc{
填充:0;
保证金:0;
边界:0;
}
排除价格。ep名称{
宽度:240px;
浮动:左;
}
.epn名称{
填充:0;
保证金:0;
显示:块;
光标:指针;
字体大小:粗体;
字体大小:13px;
颜色:#003580;
}
.epn说明{
左边距:35px;
填充:8px 0 13px 0;
显示:块;
字体大小:.923em;
字体大小:正常;
颜色:#537bb4;
光标:指针;
}
.ep价格{
显示:无;
浮动:对;
边缘顶部:-45px;
垫底:15px;
}
.epp总计{
宽度:90px;
浮动:对;
右边距:5px;
}
.总标题{
文本对齐:居中;
填充:0 3px 0;
保证金:0;
}
.eppt价格{
颜色:#0898ff;
文本对齐:居中;
填充:0 3px 0;
边际上限:0;
}
互联网(有线)
互联网可用于整个物业和成本&欧元;百分之十四
白天
总计
BAM 28
问题是您需要将字符串值传递给check
函数。因此,只需添加这样的引号:
onchange="check('cbinternet','internet')"
或:
功能检查(cbid,id){
var div=document.getElementById(id);
var checkbox=document.getElementById(cbid);
控制台日志(div);
console.log(复选框);
如果(checkbox.checked==true){
div.style.backgroundColor=“红色”;
}否则{
div.style.backgroundColor=“黑色”;
}
}
。不包括价格{
最小高度:55px;
填充:13px0;
边框顶部:1px实心#eaeaea;
浮动:左;
宽度:100%;
位置:相对位置;
清除:左;
利润率:10px0;
背景#f5fbf5;
边界半径:3px;
}
.不含价格:悬停{
背景色:白色;
}
.排除价格.ep复选框{
填充:0 13px 0 0;
左边距:10px;
浮动:左;
}
.ep checkbox.epc{
填充:0;
保证金:0;
边界:0;
}
排除价格。ep名称{
宽度:240px;
浮动:左;
}
.epn名称{
填充:0;
保证金:0;
显示:块;
光标:指针;
字体大小:粗体;
字体大小:13px;
颜色:#003580;
}
.epn说明{
左边距:35px;
填充:8px 0 13px 0;
显示:块;
字体大小:.923em;
字体大小:正常;
颜色:#537bb4;
光标:指针;
}
.ep价格{
显示:无;
浮动:对;
边缘顶部:-45px;
垫底:15px;
}
.epp总计{
宽度:90px;
浮动:对;
右边距:5px;
}
.总标题{
文本对齐:居中;
填充:0 3px 0;
保证金:0;
}
.eppt价格{
颜色:#0898ff;
文本对齐:居中;
填充:0 3px 0;
边际上限:0;
}
互联网(有线)
互联网可用于整个物业和成本&欧元;百分之十四
白天
总计
BAM 28
您在此处犯了错误:
onchange="check('cbinternet','internet')"
元素id必须是字符串。不