Конвертировать каждый элемент Li в объект - PullRequest
1 голос
/ 15 апреля 2020

У меня есть неупорядоченный список игроков для игры, который динамически генерируется пользователем на странице. Что я хочу сделать, так это превратить каждый элемент списка в объект, который позволит мне хранить их имя и точки. Бороться с кодом, как я все еще учусь JS. Я дошел до функции создания каждого объекта, но я не знаю, как на самом деле создать объект для Джона, Пола, Рин go и Джорджа (или любого, кого пользователь может добавить в список)

<ul id="playerList">
     <li>John</li>
     <li>Paul</li>
     <li>Ringo</li>
     <li>George</li>
</ul>  

const createPlayer = (playerName, points) => {return {name, points}}

1 Ответ

0 голосов
/ 15 апреля 2020

Вот как вы можете получить каждое из этих li содержимого из вашего html и затем делать все, что вы хотите делать с этими данными:

var numberOfPlayers = getElementsByTagName('li').length;
for (i=0 ; i< numberOfPlayers; i++) {
var playerData document.getElementById('playerList').getElementsByTagName('li')[i].innerText;
// create your objects or do whatever you want with playerData
}

На основе предложения Ишмерая вы также можете сделать вот так, среди ваших предпочтений:

var playerData = document.querySelectorAll('#playerList li'); 
playerData.forEach(element => { 
var thisPlayerTxt = element.innerText;
//create your objects or do whatever you want with playerData
});

И на всякий случай вы захотите создать li и добавить его в свой список:

var list = document.getElementById('playerList');
var name = 'John';
var player = document.createElement('li');
player.innerText = name;
list.appendChild(player);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...