Список элементов с нумерацией js
Есть список элементов и он весь пронумерован. Как можно сделать так, чтобы при удалении одного элемента из списка их нумерация не сбивалась ?
пример :
<ul>
<li id="1">1</li>
<li id="2">2</li>
<li id="3">3</li>
<li id="4">4</li>
</ul>
$('#1').on('click', function() {
$(this).remove()
})
$('#2').on('click', function() {
$(this).remove()
})
$('#3').on('click', function() {
$(this).remove()
})
$('#4').on('click', function() {
$(this).remove()
})
Ответы (2 шт):
Автор решения: Krovorgen
→ Ссылка
$('#1').on('click', function() {
$(this).remove()
})
$('#2').on('click', function() {
$(this).remove()
})
$('#3').on('click', function() {
$(this).remove()
})
$('#4').on('click', function() {
$(this).remove()
})
ul,
ol {
padding: 0;
}
ul {
list-style: none;
}
body {
counter-reset: section;
}
li::before {
content: "Count " counter(section) ": ";
counter-increment: section;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<ul>
<li id="1">1</li>
<li id="2">2</li>
<li id="3">3</li>
<li id="4">4</li>
</ul>
Автор решения: Max Watson
→ Ссылка
Вот еще вариант, если я правильно понял вопрос. То вы можете считать массив и все будет гуд.
let elemets = ['Наверное', 'Вы', 'Хотите', 'Так', 'Ибо', 'Пишите', 'Детальнее'];
let listOfElemets = [];
let list = document.getElementById("list");
elemets.forEach(function(element) {
listOfElemets.push("<li>" + element + "</li>");
});
list.innerHTML = listOfElemets.join('');
$('li').click(function(){
$(this).remove()
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ol id="list"></ol>
- Добавил удаление по клику.