gpt4 book ai didi

javascript - 如何正确使用jquery append

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

我需要根据 json 文件追加新内容。一旦我在 html 中手动键入它,它就没有问题,但是一旦我想使用 jQuery 循环每个函数,它就不起作用。请注意,我已经使用警报功能检查了循环方法,它发出 2 次警报导致 json 内容 2 个对象,但这似乎是 append 功能的问题。请注意,基于 chrome inspect,append 函数不会在主 div 中心创建 div 它会创建每个 div 并将它们单独放置我是前端开发的菜鸟任何改进和最佳实践的建议都非常感谢

HTML文件

<div class="wrapper">

<div class="center">
<div class="column middle"> <p id="text"></p>
<a href="" id="link">More</a></div>
<div class="column side">
<img class="image" id="image" src="">
</div>
</div>
</div>

javascript 文件:

info = 
[
{"details" : "this a text for examples",
"link" : "www.google.com",
"image" : "download.jpg"
},
{

"details" : "this a text for",
"link" : "www.google.com",
"image" : "download.jpg"
}
]



$(document).ready(function(){

$.each(info, function(i,v) {
$(".wrapper").append("<div class=\"center\">");
$(".wrapper").append("<div class=\"column middle\"> <p id=\"text\"
</p>");
$(".wrapper").append("<a href=\"\" id=\"link\">More</a></div>");
$(".wrapper").append("<div class=\"column side\">");
$(".wrapper").append("<img class=\"image\" id=\"image\" src=\"\">");
$(".wrapper").append("</div>");
$(".wrapper").append("</div>");

document.getElementById("text").innerHTML = info[i].details;
$("#link").attr("href",info[i].link);
$("#image").attr("src",info[i].image);
});

});

最佳答案

主要问题是您正在尝试复制无效的 id。请记住 id 属性需要是唯一的,因此如果您确实需要 id,您可以 append 索引以使其唯一。

此外,您可以使用反引号 来保持代码整洁,然后使用$.each 的第二个参数来获取值,而不是通过它们的索引进行访问。

info = [{
"details": "this a text for examples",
"link": "www.google.com",
"image": "download.jpg"
},
{

"details": "this a text for",
"link": "www.google.com",
"image": "download.jpg"
}
]



$(document).ready(function() {

$.each(info, function(i, v) {
$(".wrapper").append(`
<div class="center">
<div class="column middle">
<p>${v.details}</p>
<a href="${v.link}">More</a>
</div>
<div class="column side">
<img class="image" src="${v.image}">
</div>
</div>
`);
});

});
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<div class="wrapper">

<div class="center">
<div class="column middle">
<p id="text"></p>
<a href="" id="link">More</a></div>
<div class="column side">
<img class="image" id="image" src="">
</div>
</div>
</div>

关于javascript - 如何正确使用jquery append,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617334/

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