gpt4 book ai didi

jquery - 使用 css 创建多个模板

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:49 25 4
gpt4 key购买 nike

我想做的是从电影 api 创建多个框或模板(每行 5 个),我目前可以显示我需要的所有数据(不需要响应式设计)。

1

问题是,如果我将我的 css 类添加到我的部分“<section id="raiz"></section>”,它只会创建一个框并被 ajax 函数内的所有内容覆盖。这是代码:

var $peliculas = $.ajax({
url: "http://api.tvmaze.com/shows",
dataType: "json",
method: "GET",
cache: false,
success: function(data) {
console.log(data);
for (var i = 0; i < data.length; i++) {
//raiz
var root = document.getElementById("raiz");
//Elements
var Hipertexto = document.createElement("Hipertexto");
var h1 = document.createElement("img");
var puntuacion = document.createElement("puntuacion");
var titulo = document.createElement("titulo");
var generos = document.createElement("generos");
Hipertexto.href = data[i].url;
h1.src = data[i].image.medium;
puntuacion.innerHTML = data[i].rating.average;
titulo.innerHTML = data[i].name;
generos.innerHTML = data[i].genres;
raiz.appendChild(titulo);
raiz.appendChild(generos);
Hipertexto.appendChild(h1);
raiz.appendChild(Hipertexto);
raiz.appendChild(puntuacion);
}
},
error: function(data) {
console.log("Error");
}

});
.box {
float: left;
height: 300px;
width: 250px;
background-color: lavender;
border: solid 1px silver;
}
<!DOCTYPE html>
<html lang="es">

<head>
<meta charset="utf8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>

<body>
<header></header>
<main>
<section id="raiz"></section>
</main>
<footer></footer>
<script src="js/app.js" type="text/javascript"></script>
</body>

</html>

有人建议怎么做吗?

最佳答案

您的代码有很多问题。首先,您要创建自己的 HTML 标记。当您使用方法 createElement 来创建有效的 HTML 元素,如 p 或 div 时...您不能只创建任何元素,因为这是 html 而不是 xml。其次...您不需要像使用 jQuery 那样使用 createElement,因此,使用 jQuery 选择器。您的代码几乎无效。

您可以尝试类似这样的操作...(这段代码并不完美,但展示了如何使用 jQuery 在 DOM 中附加元素)

$(document).ready(function() {
$.ajax({
url: "http://api.tvmaze.com/shows",
dataType: "json",
method: "GET",
cache: false,
success: function(data) {
for (var i = 0; i < data.length; i++) {
// turn the array result into string
var genre = data[i].genres.join(", ");

//eq helps you to pinpoint the exact li element you are creating inside the li array
$("#raiz ul").append('<li class="box"></li>');
$("li").eq(i).append('<img src="' + data[i].image.medium + '"/>')
.append('<h2>' + data[i].name +'</h2>')
.append('<p>' + genre +'</p>')
.append('<p> Rating: ' + data[i].rating.average +'</p>');


}
},
error: function(data) {
console.log("Error");
}

});
});
.box {
display: inline-block;
width: 45%;
background-color: lavender;
border: solid 1px silver;
padding: 5px;
}

.box img {
display: block;
margin: auto;
width:100%
height: auto;
}

h2 {
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header></header>
<main>
<section id="raiz">
<ul>

</ul>
</section>
</main>
<footer></footer>

关于jquery - 使用 css 创建多个模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657001/

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