Например, когда вы вводите новый элемент, вы можете добавить его, нажав клавишу ввода или нажав кнопку ввода, но я хочу, чтобы добавляемый новый элемент li имел рядом с ним кнопку с надписью delete. и я смогу удалить этот новый элемент li, если нажму эту кнопку. Я подумал, что мне нужно создать элемент, а затем мне нужен слушатель, но я не могу понять, как это сделать правильно.
[это мой кодовый блок] https://codepen.io/otaylor3/pen/MWaeYPL
//variables for my shopping list
var input = document.getElementById("userinput");
var button = document.getElementById("enter");
var ul = document.querySelector("ul");
var list = document.getElementsByTagName("li");
var trash = document.getElementsByClassName("delete");
var btndelete = document.getElementById("trash");
// const myUL = document.getElementById("bold");
//For removing items with delete button
Array.prototype.slice.call(trash).forEach(function(item) {
item.addEventListener("click", function(e) {
e.target.parentNode.remove()
});
})
//loop for to strikeout the list
for(var i = 0; i < list.length; i++) {
list[i].addEventListener("click", strikeout);
}
//toggle between classlist
function strikeout () {
this.classList.toggle("done");
}
//check the length of the string entered
function inputlength() {
return input.value.length;
}
//collect data that is inserted
function addli() {
var li = document.createElement("li");
var btn = document.createElement("button");
li.appendChild(document.createTextNode(input.value));
ul.appendChild(li);
input.value = "";
}
//this will add a new list item after click
function addListAfterClick () {
if ( inputlength() > 0 ) {
addli();
}
}
//this will add a new list item with keypress
function addListKeyPress (event) {
if (inputlength() > 0 && event.which === 13) {
addli();}
}
//this will check for the event/keypress and create new list item
input.addEventListener("keypress",addListKeyPress);
//this will check for a click event and create new list item
button.addEventListener("click", addListAfterClick);
body {
background-image: url("easy.jpg");
}
.coolTitle {
text-align: center;
font-family: 'Oswald', Helvetica, sans-serif;
font-size: 80px;
transform: skewY(-10deg);
letter-spacing: 4px;
word-spacing: -8px;
color: tomato;
text-shadow:
-1px -1px 0 firebrick,
-2px -2px 0 firebrick,
-3px -3px 0 firebrick,
-4px -4px 0 firebrick,
-5px -5px 0 firebrick,
-6px -6px 0 firebrick,
-7px -7px 0 firebrick,
-8px -8px 0 firebrick,
-30px 20px 40px dimgrey
}
.done {
text-decoration: line-through;
}
<!DOCTYPE html>
<html>
<head>
<title>Shopping List</title>
<link rel="stylesheet" type="text/css" href="list.css">
</head>
<body>
<h1>Shopping List</h1>
<h2 class="second"> Get it Done </h2>
<input id= "userinput" type="text" placeholder="enter items">
<button id ="enter" >Enter</button>
<ul id ="bold">
<li random ="24">Eggs <button class="delete">delete</button></li><br>
<li>Milk <button class="delete">delete</button></li><br>
<li>Cereal<button class="delete">delete</button></li><br>
<li>Chicken <button class="delete">delete</button></li><br>
<li>Oreos <button class="delete">delete</button></li><br>
</ul>
<script type="text/javascript" src="list.js"></script>
</body>
</html>