Tengo una sección de código que agrega una clase a un botón si se hace clic y quita la clase si se hace clic en otro botón y agrega esa clase específicamente a ese botón.
specificButtons.forEach(button => { button.addEventListener('click', ()=> { const innerDiv = button.childNodes[1]; (document.querySelector('.inner-button')) ? document.querySelector('.inner-button').classList.remove('inner-button') : ''; innerDiv.classList.add('inner-button'); }); button.addEventListener('click', ()=> { pledgeOffers.forEach(offer => { console.log(offer); }); }); });Tomé específicamente esta línea de código de un sitio web y agregué mis propias clases y funciona muy bien con mi proyecto, sin embargo, no estoy seguro de lo que hace y me gustaría entender qué está haciendo y por qué lo está haciendo. Probé muchas declaraciones If diferentes para que el código funcionara y nada funcionó hasta que encontré esta línea. ¿Podría alguien ayudarme a explicar?
(document.querySelector('.inner-button')) ? document.querySelector('.inner-button').classList.remove('inner-button') : '';exp ? exp1 : exp2; significa que si exp es verdadero, saltará a exp1 , de lo contrario, exp2 .
Puede obtener más información del operador condicional (ternario)