Hello!
Tell a newbie how to select several items from the list by their index and assign them a class?
We have the following code:
$(document).ready(function() { //ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ var listitems = jQuery(".list li"); //ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° //ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ»-Π²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° var total = listitems.length; //ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 1 Π΄ΠΎ ΠΊΠΎΠ»-Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }; var willSelect = getRandomInt(1, total); //Π Π°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ //ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° var randArray = []; // ΠΌΠ°ΡΡΠΈΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° var i = 0; // ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° var countNum = willSelect; // ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΡΠΆΠ½ΡΡ
ΡΠΈΡΠ΅Π» var max = total; // ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ var min = 1; // ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ // ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ while (i < countNum) { var rand = Math.floor(Math.random() * (max - min + 1)) + min; // Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ if (find(randArray, rand) == 0) { // ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΠ»Π° randArray[i] = rand; // Π΅ΡΠ»ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅, ΡΠΎ Π·Π°ΠΈΡΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ² i++; } }; // ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ² function randCheck(array, value) { for (var i = 0; i < array.length; i++) { if (array[i] == value) return 1; } return 0; }; //ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ², Ρ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ. var willSelect = randArray; $("list li") / ΠΊΠΎΠ΄ / .addClass("black"); });
.wrap { display: block; width: 100%; height: 500px; background-color: lightgrey; } .list { display: block; width: 50%; height: 500px; background-color: darkgrey; margin: 0; } .list li { display: block; width: 100px; height: 50px; background-color: gray; text-align: center; } .black { background-color: black; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="wrap"> <ul class="list"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> </ul> </div
In the final array, we received the "sequence numbers" of li elements, to which we need to add the class .black. So, how to add it to several elements at once? each?
Tell me please.