繁体   English   中英

如何在下次搜索时删除以前搜索过的项目

[英]How can i remove previous searched items on next search

从用户搜索的内容开始获取所有电影的图像只是想在每次下一次搜索时删除以前的图像我该怎么做

<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport"     content="width=device-width, initial-  scale=1.0">
<title>TV Show Search</title>

<script     src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

</head>

<body>
<h1>TV Show Search</h1>
<form id="searchForm">
    <input type="text" placeholder="TV Show Title" name="query">
    <button>Search</button>
</form>
<script src="app.js"></script>
</body>

</html>

JavaScript 从这里开始

const form =   document.querySelector('#searchForm');

在表单上添加了一个事件监听器。

form.addEventListener('submit', async     function (e) {
e.preventDefault();
const searchTerm =     form.elements.query.value;
const config = { params: { q:    searchTerm } }
var res = await     axios.get(`http://api.tvmaze.com/search/shows`, config);

从 api 获取结果

makeImages(res.data)
form.elements.query.value = '';

})



const makeImages = (shows) => {
for (let result of shows) {
    if (result.show.image) {
        const img =    document.createElement('IMG');
           img.src=result.show.image.medium;
        document.body.append(img)
    }
}
}

如何在下次搜索时删除以前的图像

最简单的方法可能是删除所有子元素,即清除元素的innerHTML 为避免弄乱页面的其余部分,请考虑将图像移动到单独的<div>

html:

<!-- ... -->
</form>
<div id="resultImages"></div>
<script src="app.js"></script>
<!-- ... -->

js:

const resultImagesDiv = document.getElementById('resultImages');

const makeImages = (shows) => {
  resultImagesDiv.innerHTML = ''; // Clear all previous images
  for (let result of shows) {
    if (result.show.image) {
      const img = document.createElement("img");
      img.src = result.show.image.medium;
      resultImagesDiv.appendChild(img);
    }
  }
};

有关如何删除 Html 元素的所有子元素的更多详细信息,请参阅此问题

resultImagesDiv.innerHtml = ''; - 这是错误的。 它应该是 innerText 。

resultImagesDiv.innerText = '';

我假设这是针对 Udemy 上的某个在线训练营视频。 如果是这样,每个发现这个问题的人都应该有他没有给出答案的额外信用部分的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM