html - 删除按钮以从数组中删除 html 列表项和项
问题描述
我制作了一种待办事项列表应用程序,但用于使用电影数据库 API 的电影。添加电影效果很好,但我正在尝试向每个元素添加一个删除按钮,该按钮将删除所述 html 元素并将其从本地存储中的数组中删除。我已经尝试了几种与我在这里找到的线程不同的方法,例如将按钮作为孩子附加到电影中,但这对我不起作用。提前感谢您提供的任何帮助。
let addMovies = document.querySelector('.add-movies');
let moviesList = document.querySelector('.films');
let movies = JSON.parse(localStorage.getItem('movies')) || [];
let removeFilm = document.querySelectorAll('.delete');
function addMovie(e) {
e.preventDefault();
let text = (this.querySelector('[name=movie]')).value;
let api = "https://www.omdbapi.com/?apikey=636d7ecb&t=" + text;
$.getJSON(api, function (data) {
var year = data.Year;
var director = data.Director;
var plot = data.Plot;
var title = data.Title;
var actors = data.Actors;
var poster = data.Poster;
var genre = data.Genre;
var rating = data.imdbRating;
var movie = {
text
, director
, year
, title
, actors
, plot
, poster
, genre
, rating
}
movies.push(movie);
populateList(movies, moviesList);
localStorage.setItem('movies', JSON.stringify(movies));
});
};
function populateList(films = [], filmsList) {
filmsList.innerHTML = movies.map((film, i) => {
return `
<li>
<img src="${film.poster}"/>
<label for="movie${i}"><h1>${film.title}</h1><h2 id="genre">
${film.genre}</h2><p id="year"> (${film.year})</p></label>
<label for="movie${i}"><p style="font-weight:bold;">Starring:</p>
<p> ${film.actors}</p></label>
<label for="movie${i}">
<img id="rt" src="https://www.digitaltrends.com/wp-content/uploads/2011/05/Rotten_Tomatoes_logo.png"/>
<h2>${film.rating}</h2></label>
<button id="remove" class="delete">Delete</button>
</li>
`;
} ).join('');
}
function deleteMovie(e){
var el = e.target
movies.splice(el.movie);
localStorage.removeItem("movies", movie);
}
addMovies.addEventListener('submit', addMovie);
removeFilm.addEventListener('click', deleteMovie);
populateList(movies, moviesList);
解决方案
推荐阅读
- database - 如何在 Flutter 中的不同应用页面之间正确共享对象
- r - tm_bubbles 显示零计数数据
- python - 绘制完全对一的损失函数
- google-sheets - 将 IMPORTRANGE 与 FILTER 和 ISNUMBER 一起使用
- reactjs - 使用 forwardRef 中的 ref 时,ref.current 始终未定义
- git - Openshift 3.11 source-to-image (s2i) build 不使用标准 ssh 端口
- python - 如何通过舍入结果来规范化数组(python、numpy、scipy)
- rust - 如何在 WASM-Bindgen 和 Rust 中实际获取响应正文的文本
- c - 为什么 Mingw-w64 gcc 编译器会生成有关 %zd 和 %a 格式的错误警告
- css - 3 个月前的 Cucumber/Java 验证结果日期