【发布时间】:2022-01-15 07:25:49
【问题描述】:
我想遍历我的 HTML 中的三个元素,更改每个部分的属性,一次一个部分。我想我会得到一个带有 querySelectorAll 的 NodeList,然后使用带有 NodeList 的计数器进行迭代。它仅在第一部分有效,并返回此错误消息:
通过指定其 SameSite 属性指示是否在跨站点请求中发送 cookie
我觉得这应该更简单,有没有更简单的方法来遍历绕过 cookie 问题的部分?
const button = document.querySelector('button');
generateRandom = () => {
return Math.floor(Math.random() * 826);
}
getCharacters = () => {
var sections = document.querySelectorAll('section');
for (var i = 0; i < 4; i++;) {
let randomNumber = generateRandom();
return fetch(`https://rickandmortyapi.com/api/character/${randomNumber}`, {
method: 'GET',
headers: {
Accept: 'application/json',
"Content-type": 'application/json'
}
}).then((response) => response.json()).then((data) => {
let section = sections[i];
let image = section.querySelector('img');
let characterName = section.querySelector('#name');
let especie = section.querySelector('#species');
let state = section.querySelector('#status');
image.src = data.image;
image.alt = data.name;
characterName.innerHTML = data.name
species.innerHTML = data.species;
state.innerHTML = data.status;
})
}
}
button.onclick = getCharacters;
<main>
<section>
<img alt="Smiling Rick" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTfO2QcnGNdEZnWgjmwCDTUN1okIqAlXt5UkwZEl7qui4Poc-vO">
<ul id="config-container">
<li>Name:
<p id="name"></p>
</li>
<li>Species:
<p id="species"></p>
</li>
<li>Status:
<p id="status"></p>
</li>
</ul>
</section>
<section>
<img alt="Rick and Morty logo" src="https://www.baconfrito.com/wp-content/uploads/2017/10/rick-morty-title.jpg">
<ul id="config-container">
<li>Name:
<p id="name"></p>
</li>
<li>Species:
<p id="species"></p>
</li>
<li>Status:
<p id="status"></p>
</li>
</ul>
<button>Click to see more characters</button>
</section>
<section>
<img alt="Smiling Morty" src="https://static.wikia.nocookie.net/rickandmorty/images/e/ee/Morty501.png/revision/latest/top-crop/width/360/height/360?cb=20210827150137">
<ul id="config-container">
<li>Name:
<p id="name"></p>
</li>
<li>Species:
<p id="species"></p>
</li>
<li>Status:
<p id="status"></p>
</li>
</ul>
</section>
</main>
【问题讨论】:
-
你的 html 是什么样的?
-
添加了 HTML 代码,tks
标签: javascript html loops iteration samesite