切换除一个以外的相同类名(JavaScript)

切换除一个以外的相同类名(JavaScript),javascript,toggle,state,editing,Javascript,Toggle,State,Editing,我试图阻止class属性为'show'的段落元素在updateButton上切换click事件。我试过if-else语句,但没有用 我实际上是在尝试创建一个编辑状态,当我单击update按钮时,这些按钮底部的所有文本都需要显示段落元素。虽然有一个按钮下面已经有文本,我想阻止它切换class.hide 其他按钮上已经有.hide class属性,因此从单击事件切换时,它们会出现 TLDR:我希望在切换.risk文本容器中的所有其他段落元素时,防止不带.hide class属性的一个段落元素将其打开

我试图阻止class属性为'show'的段落元素在updateButton上切换click事件。我试过if-else语句,但没有用

我实际上是在尝试创建一个编辑状态,当我单击update按钮时,这些按钮底部的所有文本都需要显示段落元素。虽然有一个按钮下面已经有文本,我想阻止它切换class.hide

其他按钮上已经有.hide class属性,因此从单击事件切换时,它们会出现

TLDR:我希望在切换.risk文本容器中的所有其他段落元素时,防止不带.hide class属性的一个段落元素将其打开

//选择指示器div const riskIndicator=document.getElementByIdRisk\uu指标; //选择更新按钮 const updateButton=document.getElementByIdUpdate_按钮; //指示按钮 const indicatorButton=document.getElementsByClassNameRisk_indicator_按钮; //指示器“检查每..”文本 const checkIndicatorText=document.queryselectoral.risk-text; //选择更新按钮 updateChange:updateButton.addEventListenerclick,函数事件{ riskIndicator.classList.toggleactive; }; //检查风险指标是否处于活动状态以应用背景更改的If语句 editState:updateButton.addEventListenerclick,functionel{ [].map.calldocument.querySelectorAll'.risk text',functionel{ //循环检查文本指示符元素,看看它是否有隐藏的类属性 el.classList.toggle'hide'; };
}; 根据您的用例:

如果要仅排除一次,然后将此元素与其他元素切换,请执行以下操作:

   editState: updateButton.addEventListener("click", function(el) {
            [].map.call(document.querySelectorAll('.risk-text:not(.hide)'), function(el) {
                // loop through text indicator elements checking to see if it's got a hidden class attribute
                el.classList.toggle('hide');
            });
    });
如果希望不使用余烬元素,则

   editState: updateButton.addEventListener("click", function(el) {
            [].map.call(document.querySelectorAll('.risk-text:not(.low_risk_text__wrap--risk-middle-amber)'), function(el) {
                // loop through text indicator elements checking to see if it's got a hidden class attribute
                el.classList.toggle('hide');
            });
    });

您还可以添加新类,如spareMe,并使用排除它。不

共享html代码它的html图像非常感谢您,Michal,第一个完成了我希望完成的任务!现在它成功地阻止了中间段落元素切换隐藏类属性!对于我不想更改的类,我在那里有一个.show类属性,所以我修改为如下所示。