How can I change the opacity of the image for id Master to 1 when I select the option with value 1 (MasterCard)? and put it into a function that works on those 4 values, each with its own id? I want the default image to be 0.3 and when one of the options is selected the image has an opacity of 1.
.itemForm2 { width: 100%; position: relative; margin-bottom: 18px; margin-top: 10px; display: flex; flex-direction: row; } .escolhaCartao { display: flex; flex-direction: row; width: 218px!important; gap: 10px; } @media(min-width:768px) { .escolhaCartao { width: 258px!important; height: 34.32px; gap: 5px; } .lineFormCartao { display: flex; flex-direction: row; justify-content: inherit; gap: 16px; } .escolhaCartao img { opacity: .3; } }
<div class="lineForm lineFormCartao"> <div class="itemForm"> <select id="OpcoesCartao" name="OpcoesCartao"> <option value="1">Mastercard</option> <option value="2">Visa</option> <option value="3">Elo</option> <option value="4">Amex</option> </select> </div> <div class="itemForm2 escolhaCartao"> <img id="master" src="images/master.png" alt="Logo cartão Mastercard"> <img id="visa" src="images/visa.png" alt="Logo cartão Visa"> <img id="elo" src="images/elo.png" alt="Logo cartão Elo"> <img id="amex" src="images/amex.png" alt="Logo cartão Amex"> </div> </div>
Only using CSS and has
Using JavaScript
You can do this. This works in most browsers. Firefox should support it soon (https://caniuse.com/?search=has) p>