Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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 不知道为什么这不起作用 保持更新 函数toggleClass(){ 如果(类名==“按钮1”){ className=“info”; }否则{ className=“按钮1”; }_Javascript_Html_Css - Fatal编程技术网

Javascript 不知道为什么这不起作用 保持更新 函数toggleClass(){ 如果(类名==“按钮1”){ className=“info”; }否则{ className=“按钮1”; }

Javascript 不知道为什么这不起作用 保持更新 函数toggleClass(){ 如果(类名==“按钮1”){ className=“info”; }否则{ className=“按钮1”; },javascript,html,css,Javascript,Html,Css,试图在单击div时更改div的类。div的作用类似于一个按钮,应该由另一个div类替换。这是我目前为止的编码,请提供帮助。提前感谢。您的代码有几个问题。首先,您在if/else语句中缺少一个右括号。检查控制台F12以查看错误: 未捕获的语法错误:输入意外结束 其次,正如上面注释中所指出的,className不会自动存在,也不会更改元素的类className是DOM对象的属性。您需要获取单击的元素并引用className属性来检索并正确设置它 但是,在执行此操作之前,需要获取单击的元素。为此,将事

试图在单击div时更改div的类。div的作用类似于一个按钮,应该由另一个div类替换。这是我目前为止的编码,请提供帮助。提前感谢。

您的代码有几个问题。首先,您在if/else语句中缺少一个右括号
。检查控制台F12以查看错误:

未捕获的语法错误:输入意外结束

其次,正如上面注释中所指出的,
className
不会自动存在,也不会更改元素的类
className
是DOM对象的属性。您需要获取单击的元素并引用
className
属性来检索并正确设置它

但是,在执行此操作之前,需要获取单击的元素。为此,将
事件
参数添加到内联单击处理程序:

<div class="button button1" onclick="toggleClass();">Stay Updated</div>

    <script>
        function toggleClass(){
            if(className == "button button1"){
                    className = "info";
          } else {
                    className = "button button 1";
}

    </script>
并在函数中引用事件对象
toggleClass

onclick="toggleClass(event);"
使用
事件
对象的
目标
属性查找单击的元素并将其保存到变量中:

function toggleClass(evt) {
最后,引用
btn.className
代替函数中的所有
className
引用

演示:

功能切换类(evt){
var btn=evt.target;
如果(btn.className==“按钮1”){
btn.className=“info”;
}否则{
btn.className=“按钮1”;
}
}
div{
颜色:#fff;
}
div.button.button1{
背景:蓝色;
}
部门信息{
背景:绿色;
}

Stay Updated
分配名为
className
的变量不会自动更改div标记的类。做一点调查,你会发现的。你可能想看看这个。该类名存在于DOM中。您不能将其更改为代码的本地版本。
var btn = evt.target;