Добавление/удаление класса к элементу

105
02 ноября 2021, 22:40

Есть несколько строк в таблице с такой структурой:

<div class="trading__market-table-row" id="CoinProd_1" name="CoinID_1" onclick='ChangeCoinProdBuySell("CoinID_1");'>
                                <div class="trading__star-wrapper">
                                <div class="trading__star" id="star">
                                </div>
                                </div>
                                    <div class="trading__market-table-wrap">
                                        <div class="trading__market-table-circle trading__market-table-circle--green" name="Point_1" onclick='ChangeColorGreenPoint("Point_1");'></div>
                                        <div class="trading__market-table-coin">1</div>
                                    </div>
                                    <div class="trading__market-table-price"></div>
                                    <div class="trading__market-table-volume"  ></div>
                                    <div class="trading__market-table-change"  ></div>
                                </div>

При выделении какой-то строки срабатывает js код, который добавляет класс к классу class="trading__market-table-row" и подсвечивает выбранную строку и удаляет класс, когда выделена друга строка

for (var i = 0; i < MarcetTableRow.length; i++) {
                        MarcetTableRow[i].classList.remove('trading__market-table-row-active');
                    }
                    var Coin_Elements = document.getElementsByName(NameCoinProd);
                    for (var i = 0; i < Coin_Elements.length; i++) {
                        Coin_Elements[i].classList.add('trading__market-table-row-active');


                    }

Как мне при выделении добавить еще 1 класс( иудалять его соответственно) но к конкретному классу, в моем случае к <div class="trading__star"> Т.е в итоге должно получиться <div class="trading__star active"> Заранее благодарен за помощь!

Answer 1

Вероятно, так:

for (var i = 0; i < MarcetTableRow.length; i++) {
    MarcetTableRow[i].classList.remove('trading__market-table-row-active');
    MarcetTableRow[i].querySelector('.trading__star').classList.remove('active');
}
var Coin_Elements = document.getElementsByName(NameCoinProd);
for (var i = 0; i < Coin_Elements.length; i++) {
    Coin_Elements[i].classList.add('trading__market-table-row-active');
    Coin_Elements[i].querySelector('.trading__star').classList.add('active');
}
READ ALSO
setTimeout() и стэк

setTimeout() и стэк

разбираюсь с debouncing и throttling, основу работы setTimeout() и setInterval() понимаю, но код ниже меня запутывает, так при выполнении без пауз в Nodejs и хроме выдает...

151
Как собрать анимацию из кусков с JS?

Как собрать анимацию из кусков с JS?

Давно зрела мысля сделать небольшую браузерную игру, вот пытаюсь залезть в тему gamedevИзначально была идея сделать анимацию построенную на спрайтах:

118
Звук без учета вкладки

Звук без учета вкладки

День добрыйКаким образом можно проиграть звук в браузере с той вкладки, на которой пользователь не находится в данный момент ? На деле выходит,...

147