У меня есть список элементов, и мне нужно создать функцию, которая помещает номер перед каждым элементом в списке. Таким образом, «кедровые орешки» стали бы «2. кедровыми орешками»
Вот список, который я передаю (с параметром ulPassed) -
<li id="one" class="hot"><em>fresh</em> figs</li>
<li id="two" class="hot">pine nuts</li>
<li id="three" class="hot">honey</li>
<li id="four" class="cold">balsamic vinegar</li>
<li id="five" class="cold">yoghurt coated banana chips</li>
Вот мой код до сих пор -
function swapInnerHTML(ulPassed){
ulPassed = ulPassed.innerHTML;
var grocList = document.getElementById('groceries');
var listItems = grocList.getElementsByTagName('li');
var listNumber = 1;
var count = 0;
for (count = 0; count < ulPassed.length; count++) {
var thisItem = listItems[count].getAttribute('class'); //pointing towards each class item
var foodText = thisItem.firstChild.nodeValue; //pointing towards the child node of each item
foodText = foodText.replace(foodText, listNumber+". "+foodText); //replace the text
thisItem.firstChild.nodeValue = foodText; //update the text
listNumber++; //next list number
}
console.log(ulPassed);
return ulPassed;
}
Поэтому я пытаюсь для l oop циклически перебирать список и заменять каждый из продуктов на себя, но с номером списка перед их тоже "." В том же самом l oop я увеличиваю номер списка. У меня проблема в том, чтобы заставить его заменить сам текст, мне кажется, что я довольно близко, но я не чувствую, что правильно использую firstChild.nodeValue.
Любой помощь была бы отличной. Спасибо!