按钮onclick使用javascript更改类的可见性

按钮onclick使用javascript更改类的可见性,javascript,html,css,Javascript,Html,Css,因此,我试图在用户使用javascript单击“注册”按钮时改变类“feel”和“feels”的可见性,但我没有取得任何进展。当我点击按钮时,什么也没有发生。 我首先设置了隐藏类“feels”的可见性。在用户点击按钮后,它应该变为可见,类“feel”的可见性应该变为隐藏 document.getElementById(“btn”).addEventListener(“单击”,函数(e){ 注册() }); 函数注册(){ document.getElementsByClassName(“fee

因此,我试图在用户使用javascript单击“注册”按钮时改变类“feel”和“feels”的可见性,但我没有取得任何进展。当我点击按钮时,什么也没有发生。 我首先设置了隐藏类“feels”的可见性。在用户点击按钮后,它应该变为可见,类“feel”的可见性应该变为隐藏

document.getElementById(“btn”).addEventListener(“单击”,函数(e){
注册()
});
函数注册(){
document.getElementsByClassName(“feel”).style.visibility:“隐藏”;
document.getElementsByClassName(“feels”).style.visibility:“可见”;
}

成为这个社会的一部分去感受。
没有账户吗?
报名
请提供以下信息:
男性
女性

您使用的是对象初始值设定项中使用的
,但用于赋值时,您应该使用
=

getElementsByClassName
返回HTMLCollection。它没有属性
样式
。您可以使用
forEach()
queryselectoral()

工作片段
document.getElementById(“btn”).addEventListener(“单击”,函数(e){
注册()
});
函数注册()
{
document.queryselectoral(“.feel”).forEach(x=>x.style.visibility=“hidden”);
document.queryselectoral(“.feels”).forEach(x=>x.style.visibility=“visible”);
}

成为这个社会的一部分去感受。
没有账户吗?
报名
请提供以下信息:
男性
女性

您使用的是对象初始值设定项中使用的
,但用于赋值时,您应该使用
=

getElementsByClassName
返回HTMLCollection。它没有属性
样式
。您可以使用
forEach()
queryselectoral()

工作片段
document.getElementById(“btn”).addEventListener(“单击”,函数(e){
注册()
});
函数注册()
{
document.queryselectoral(“.feel”).forEach(x=>x.style.visibility=“hidden”);
document.queryselectoral(“.feels”).forEach(x=>x.style.visibility=“visible”);
}

成为这个社会的一部分去感受。
没有账户吗?
报名
请提供以下信息:
男性
女性

您的签名按钮有两个id属性:id=“sign”和id=“btn”


然后:如果没有名为“return”的函数,请将“return signup()”放在按钮的onclick属性中。

您的签名按钮有两个id属性:id=“sign”和id=“btn”


然后:如果没有名为“return”的函数,请将“return signup()”放在按钮的onclick属性中。

如注释中所述,getElementsByClassName方法返回该类在页面中出现的所有内容的HTML集合,而不是单个HTML元素(请注意GetElementsByCassName中的“s”,这使它成为复数形式)。因此编译器找不到任何属性样式或可见性,并且它一定在控制台上抛出了错误,请始终确保在事情不起作用时监视控制台以查找错误

如果您确定该类只有一个元素,那么应该改用id,然后使用getElementById方法返回单个对象

如果您确定该类将有多个元素,请确保您知道该类出现的位置,以便可以通过getElementsByClassName返回的HTML集合上的索引访问该类

`document.getElementsByClassName("myClass")[0].style.visibility="hidden"`
另外,您可以直接将注册函数附加为事件处理程序
document.getElementById(“btn”).addEventListener(“单击”,注册);

如注释中所述,方法getElementsByCassName返回该类在页面中出现的所有HTML集合,而不是单个HTML元素(注意getElementsByCassName中的“s”使其成为复数)。因此,编译器找不到任何属性样式或可见性,并且它一定在控制台上抛出了错误,请始终确保在出现问题时监视控制台以查找错误

如果您确定该类只有一个元素,那么应该改用id,然后使用getElementById方法返回单个对象

如果您确定该类将有多个元素,请确保您知道该类出现的位置,以便可以通过getElementsByClassName返回的HTML集合上的索引访问该类

`document.getElementsByClassName("myClass")[0].style.visibility="hidden"`
另外,您可以直接将注册函数附加为事件处理程序
document.getElementById(“btn”).addEventListener(“单击”,注册);
试试这个。下面是一个

试试这个,这里有一个


按钮
btn
sign
的两个ID。删除任何一个GetElementsByCassName返回元素数组,而不是单个元素。语法完全不正确,应如下
文档所示。GetElementsByCassName(“感觉”)[0]。style.visibility=“hidden”;
我忘了删除第二个id。因为我是自学成才的,而且我现在基本上掌握了基础知识,所以我不知道在button
btn
sign
的class和id.2 id上会发生这样的差异。删除任何一个GetElementsByclassName返回元素数组而不是单个元素。语法完全不正确应该是这样的
document.getElementsByClassName(“feel”)[0].style.visibility=“hidden”
我忘了删除第二个id。因为我是自学的,而且我现在基本上都是基础知识,所以我不知道在类和id中会发生这样的差异。所以0索引意味着类的第一个。feel and.feels正确吗?一个
document.getElementById("btn").addEventListener("click", signup);

function signup() {
  var a = document.querySelectorAll(".feel")[0];
  var b = document.querySelectorAll(".feels")[0];
  a.style.visibility = "hidden"
  b.style.visibility = "visible";
}