Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 未捕获的TypeError无法设置属性';类名';控制台输出为空_Javascript_Html_Typeerror - Fatal编程技术网

Javascript 未捕获的TypeError无法设置属性';类名';控制台输出为空

Javascript 未捕获的TypeError无法设置属性';类名';控制台输出为空,javascript,html,typeerror,Javascript,Html,Typeerror,我有以下html代码: <input type="checkbox" id="template-contactform-baggages-custom" name="baggages" value="baggages" class="sm-form-control" onchange="showcheck(this, numbag)" /> <div id="numbag" class="hidden"> <input type="number" name=

我有以下html代码:

<input type="checkbox" id="template-contactform-baggages-custom" name="baggages" value="baggages" class="sm-form-control" onchange="showcheck(this, numbag)" />
<div id="numbag" class="hidden">
    <input type="number" name="numofbag" value="" />
</div>
如您所见,当我选中复选框时,我想隐藏或显示隐藏的div, 我认为我的功能一切正常,但控制台有不同的想法。。! 未捕获的TypeError:无法将属性“className”设置为null,是输出

有人能帮我吗

p、 我以前做过一个逻辑相同的函数,我没有问题

onchange="showcheck(this, numbag)"
应该是

onchange="showcheck(this, 'numbag')"
在设置类名时,需要添加一个空格。但问题是,您的代码将不断添加类,因此它将同时具有隐藏和不隐藏。你应该使用

由于您只是在设置类(错过了清除类的部分),所以只需执行三元运算符即可

inputelement.className = checked? "nothidden" : "hidden";
应该是

onchange="showcheck(this, 'numbag')"
在设置类名时,需要添加一个空格。但问题是,您的代码将不断添加类,因此它将同时具有隐藏和不隐藏。你应该使用

由于您只是在设置类(错过了清除类的部分),所以只需执行三元运算符即可

inputelement.className = checked? "nothidden" : "hidden";

检查
numbag
变量的值。检查
numbag
变量的值。伙计,这很微妙。但是当然,
numbag
将是一个自动全局引用元素,
getElementById
将其转换为字符串,因此它将尝试查找名为
[object HTMLInputElement]
[object object object]
(取决于浏览器)的元素,但找不到它,然后。。。不错。好吧,我调用函数时忘记了“”,谢谢!但是我其余的代码工作得很好。当我选中该复选框时,类为nothidden,当我取消选中该复选框时,类将更改为hidden。因此,我在添加多于一个的类方面没有问题啊,我错过了
inputelement.className=“”因此不需要在下一行中执行操作。只需将类名设置为类。。。这种连接毫无意义。用一种不用所有代码就可以设置的方式更新了它。伙计,这很微妙。但是当然,
numbag
将是一个自动全局引用元素,
getElementById
将其转换为字符串,因此它将尝试查找名为
[object HTMLInputElement]
[object object object]
(取决于浏览器)的元素,但找不到它,然后。。。不错。好吧,我调用函数时忘记了“”,谢谢!但是我其余的代码工作得很好。当我选中该复选框时,类为nothidden,当我取消选中该复选框时,类将更改为hidden。因此,我在添加多于一个的类方面没有问题啊,我错过了
inputelement.className=“”因此不需要在下一行中执行操作。只需将类名设置为类。。。这种连接毫无意义。用一种不用所有代码就可以设置的方式更新了它。