Proponuję takie rozwiązanie.
Dać możliwość wprowadzenia tytułu notatki użytkownikowi, ewentualnie jak nie wpisze wygenerować domyślny tytuł notatki.
<form action="note"id="form">
<label for="note-title">Tytuł notatki:</label>
<input type="text" id="note-title" name="note_title" />
. . .
</form>
a listę dodanych notatek zrobić w oparciu o tag <ol>, wtedy po usunięciu elementu z listy zostanie ona przenumerowana automatycznie przez przeglądarkę.
<div class="note_table">
<ol>
<li>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<span>Notatka lorem</span>
<button>Usuń</button>
</div>
</li>
<li>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<span>Notatka ipsum</span>
<button>Usuń</button>
</div>
</li>
<li>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<span>Notatka dolor</span>
<button>Usuń</button>
</div>
</li>
<li>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<span>Notatka sit amet</span>
<button>Usuń</button>
</div>
</li>
<li>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<span>Notatka consectetur</span>
<button>Usuń</button>
</div>
</li>
</ol>
</div>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.note_table {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.note_table div {
display: flex;
flex-direction: column;
width: 550px;
height: 100px;
margin: 20px;
border: 1px solid grey;
border-radius: 5px;
padding: 30px 5px;
position: relative;
font-style: italic;
font-size: 16px;
font-weight: normal;
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
span {
position: absolute;
top: 2px;
left: 2px;
font-weight: bold;
padding: 0px 5px;
}
button {
background-color: chartreuse;
padding: 10px 20px;
width: 100px;
align-self: flex-end;
text-transform: uppercase;
text-align: center;
margin-bottom: 0;
position: relative;
bottom: 1em;
}
ol {
list-style-type: decimal;
font: 900 1.2em monospace;
}
const buttons_delete_note = document.querySelectorAll('.note_table button');
buttons_delete_note.forEach((button) => {
button.addEventListener('click', ({target}) => {
target.closest('li').remove();
});
});
[ Funkcja closest ] [ Custom List Number Styling ]