当取消选中单选按钮时,如何仅使用Javascript从元素中删除必需的属性?

当取消选中单选按钮时,如何仅使用Javascript从元素中删除必需的属性?,javascript,html,Javascript,Html,我有一个名为“Other/Query”的单选按钮,当选中它时,它下面的文本区域将使用required属性成为必需的 我想在取消选中“Other/Query”单选按钮时,仅使用JavaScript从textarea元素中删除所需的属性 取消选中单选按钮时是否可以删除所需的属性 我目前正在使用下面的JS,它添加了必需的属性,但在取消选中时不会删除它 var gquery = document.getElementById("genquery"); var comment = document.get

我有一个名为“Other/Query”的单选按钮,当选中它时,它下面的文本区域将使用required属性成为必需的

我想在取消选中“Other/Query”单选按钮时,仅使用JavaScript从textarea元素中删除所需的属性

取消选中单选按钮时是否可以删除所需的属性

我目前正在使用下面的JS,它添加了必需的属性,但在取消选中时不会删除它

var gquery = document.getElementById("genquery");
var comment = document.getElementById("comments");
    gquery.addEventListener('change', function(){
    comment.required = this.checked;
});
if(gquery.required = false){
    comment.required = false;
};
非常感谢您的帮助。

您可以使用此功能

gquery.addEventListener('click', function(event){
    if (this.checked) {
    comment.classList.add('required')
    comment.setAttribute('required', 'required')
  }
});

genquerytwo.addEventListener('click', function(event){
    if(this.checked) {
    comment.classList.remove('required')
    comment.removeAttribute('required')
   }
});
在行动中看到它->


更新的小提琴->

你是说这样吗@AlfredCrosby,你不需要这两个
注释.classList.add
/
.remove
行实际上,只需将CSS规则更改为
textarea[required=“required”]
是的,看起来更好更干净@Mi CreativityFirst使用==或==当你检查值时,请更正你的代码。然后您可以通过“removeAttribute”简单地删除elemnt属性。不幸的是,提供给我的选项都不起作用。我可以看到你用了一个复选框;但是,我使用的是单选按钮。当用户选择另一个单选按钮时,我希望删除所需的属性。感谢您的答复,但未成功。我用的是单选按钮,不是复选框。我可以向textarea元素添加必需的属性,但当我选择另一个单选按钮时,仍然无法删除它。这样做的目的是,如果用户错误地选择了另一个单选按钮,则允许用户选择另一个单选按钮。让他们选择不添加所需评论。谢谢。我很感谢你的帮助,但是它不适用于多个单选按钮:我总共有6个。只有一个单选按钮应添加所需的属性。如果我单击其他5个单选按钮中的任何一个,这将删除该属性。我为类名声明了一个变量,但没有成功。我还硬编码了单选按钮的每个输入标签所需的属性。你认为这是问题的一部分吗?我已经根据你的情况更新了小提琴。另外,你能分享一下你的代码吗?这样我就可以看一看,并试着找出你的问题。谢谢,莫希特。我用了你的代码,但是很长。请问有没有办法缩短它?@GrahamO'Mahony我用更短的代码更新了小提琴。我希望它现在能解决你的问题。请对此进行投票,如果它解决了您的问题,请将其标记为解决方案。