Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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
使用html属性设置javascript变量_Javascript_Html_Forms_Input - Fatal编程技术网

使用html属性设置javascript变量

使用html属性设置javascript变量,javascript,html,forms,input,Javascript,Html,Forms,Input,我正在尝试重新创建带有单选按钮的表单的功能,当您单击单选按钮时,文本会发生更改 我开始的是: window.onload=函数{ document.getElementByIdhidden\u elements.style.display=none; //将单击事件处理程序附加到单选按钮 var radios=document.forms[0]。元素[group1]; 对于变量i=[0];i

我正在尝试重新创建带有单选按钮的表单的功能,当您单击单选按钮时,文本会发生更改

我开始的是:

window.onload=函数{ document.getElementByIdhidden\u elements.style.display=none; //将单击事件处理程序附加到单选按钮 var radios=document.forms[0]。元素[group1]; 对于变量i=[0];i getElementsByName。该列表没有列表项所具有的样式属性

ID必须是唯一的,不能在多个元素上放置相同的ID。使用类将元素分组在一起

可能是比name更好的选择,因为您可以在任何元素类型上使用它们

如果要基于单选按钮值显示/隐藏元素,则需要选择显示/隐藏的所有元素,而不仅仅是与单选按钮值匹配的元素。然后循环浏览该列表,根据它们是否匹配所选值来显示/隐藏

加载事件在页面加载周期的很晚发生,例如,就在末尾。不要使用load,而是将脚本标记放在文档的末尾,就在结束标记之前,并立即进行事件连接

我可能会使用类来切换可见性,而不是style.display

您可以通过getAttribute从元素中获取属性

您可以使用querySelectorAll获得与任何CSS选择器匹配的元素列表。全局查看,或仅在该元素内查看。例如,要获取文档中具有名为data val的属性的元素列表,可以使用CSS选择器[data val],例如`document.querySelectorAll[data val]

以下是您的代码片段的一个版本,其中包含一些最新的内容;见评论:

//我会使用querySelectorAll而不是旧样式 //表单和元素集合,但它们也起作用 var radios=document.querySelectorAllpicker输入[type=radio]; //初始值为0,而不是[0] 对于var i=0;i