2015-07-13 4 views
0

Итак, у меня есть следующий код, созданный для создания элемента li, когда кто-то вводит что-то в поле. Я также хочу, чтобы элемент li содержал уникальный идентификатор, который начинается с list-Item0 и перейдите к list-Item1 и т. Д. С каждым li, созданным, когда кто-то вводит в поле и добавляет элемент.Добавление ID в LI Javascript

Любая идея, как я буду заниматься этим? Я не знаю, что такое JQuery, поскольку я полный новичок, поэтому я ищу что-то чрезвычайно базовое, которое я могу реализовать в этом коде.

Вот что я до сих пор:

function addItemFunction() { 
    document.getElementById("itemList").innerHTML=document.getElementById("itemList").innerHTML + '<li>' + addNewBox.value + '</li>'; 
} 
+1

@ DeanRather-нет, не делайте этого. Гораздо лучше, чтобы ОП изучил простой JS, затем сделайте собственное решение о том, какая библиотека (если таковая имеется) наилучшим образом соответствует их потребностям для определенной цели. – RobG

ответ

4

Просто держать счетчик для ID вне вашей функции, создать <li> элемент, установить идентификатор и содержание, увеличить счетчик и добавить элемент к вашему itemList ,

var listItemCounter = 0;   

function addItemFunction() { 
    var li = document.createElement('li'); 
    li.id = 'list-Item' + listItemCounter++; 
    li.innerHTML = addNewBox.value; 

    document.getElementById('itemList').appendChild(li); 
} 
+0

Я просто делал JS Fiddle для того, чтобы вы возились, когда Фил опубликовал это. Здесь ya go: https://jsfiddle.net/0fn8wf65/ –

0

В качестве расширения ответ Фила, вы можете избежать глобального счетчика, держа его в затворе:

var addItemFunction = function() { 
    var listItemCounter = 0;   

    return function() { 
     var li = document.createElement('li'); 
     li.id = 'list-Item' + listItemCounter++; 
     li.innerHTML = addNewBox.value; 

     document.getElementById('itemList').appendChild(li); 
    }; 
}()); 
+0

Счетчик в моем ответе не обязательно * global *, он находится вне функции (как в этом ответе). – Phil

Смежные вопросы