gpt4 book ai didi

javascript - 使用对象在 html 中创建列表

转载 作者:行者123 更新时间:2023-11-30 11:16:32 25 4
gpt4 key购买 nike

我在这个练习中遇到的问题是我需要在我的 html 上输出一个列表 <li></li>并用我曾多次尝试但无法获得的对象中的项目填充它。正如您将在我的 html 文件中看到的那样,我已经有了 <ul></ul>。带有“ Cereal ”类的标签。根据说明,我正在尝试创建一个循环来遍历对象并将每个值附加到 <li>这样它们就可以显示在我的 html 中。

最终输出应该是:

Final product

这是我的 index.html:

<!DOCTYPE html>
<html lang="en-ca">
<head>
<meta charset="utf-8">
<title>Grain globber</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="css/main.css" rel="stylesheet">
</head>
<body>

<h1>Grains</h1>
<ul class="grains"></ul>

<script src="jquery.min.js"></script>
<script src="js/grains.js"></script>
<script src="js/main.js"></script>
</body>
</html>

这是我的 grains.js,它包含我的对象:

var grains = [
{
name: 'Peanuts',
img: 'peanuts.jpg',
desc: 'First cultivated in the valleys of Paraguay.'
},
{
name: 'Beans',
img: 'beans.jpg',
desc: 'A summer crop that needs warm temperatures.'
},
{
name: 'Lentils',
img: 'lentils.jpg',
desc: 'An edible pulse from a bushy annual plant.'
}
];

这是我的 main.js 文件,我试图在其中完成任务但卡住了:

$('.grains').each(function(){
document.write($(this).text(grains) + "\n")
});

$("ul").each(function(grains) {
for(var i = 0; i < grains.length;i++){
grains[i].name;
grains[i].img;
grains[i].desc;
if (('body').hasClass('grains')) {
$('ul').append('<li>'+grains[i].name+'</li>'+'<li>'+grains[i].img+'</li>'+'<li>'+grains[i].desc+'</li>');
}


}

});

这是我的输出:

output

我知道我可以通过这种方式完成它(见下文)但我需要使用循环:

var $list = $('.grains');
$list.append('<h2>' + grains[0].name + '</h2>');
$list.append('<img src="images/peanuts.jpg">');
$list.append('<p>' + grains[0].desc + '</p>');

$list.append('<h2>' + grains[1].name + '</h2>');
$list.append('<img src="images/beans.jpg">');
$list.append('<p>' + grains[1].desc + '</p>');

$list.append('<h2>' + grains[2].name + '</h2>');
$list.append('<img src="images/lentils.jpg">');
$list.append('<p>' + grains[2].desc + '</p>');

以下是说明:

With an already made array of grains, create a layout in the HTML with jQuery & CSS.

  • Fork this repository.
  • The information is inside an array of objects in the grains.js file.
  • Loop over the grains variable and use jQuery to output <li> tags into the <ul> that’s already in the HTML file.
  • Each <li> tag should have an <img>, an <h2>, & a <p>
  • Style the Javascript generated list using CSS—the selectors are all ready.
  • DO NOT change the HTML.
  • DO NOT change grains.js
  • Run it through Markbot and make sure it passes all the checks.

Goal

Visually match the images in the “screenshots” folder.

我只需要一些指导来让循环正常工作。

最佳答案

我能够玩弄它并使用这个解决了它:

var $list = $('.grains');
function loopIt(){
for(var i=0; i<grains.length; i++){
$list.append('<li><h2>' + grains[i].name + '</h2></li>');
$list.append('<li><img src=' + grains[i].img +'></li>');
$list.append('<li><p>' + grains[i].desc + '</p></li>');
}
}
loopIt();

关于javascript - 使用对象在 html 中创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51330479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com