【发布时间】:2015-12-22 15:07:24
【问题描述】:
单击“项目”时,我希望将多个图像附加到容器元素。
项目及其图像 URL 在 JavaScript 对象中定义。
如果我单击一个项目,它的图像会正确附加。但是,如果我关闭项目查看器并再次单击该项目,图像都会被复制。我认为这与append() 有关。
我做错了什么?
我在下面做了一个演示:
$(function() {
var projects = {
'project_1': {
'title': 'EduTravel For Credit',
'description': 'Innovative travel for credit.',
'images': [
'http://lorempixel.com/400/30/abstract/1/',
'http://lorempixel.com/400/30/abstract/2/'
]
}
}
var projectData = projects["project_1"];
jQuery('button').on('click', function() {
$.each(projectData.images, function(item) {
$('#project-images').append('<span class="image_holder" style="background-image:url(' + projectData.images[item] + ');"></span>')
});
$('#project_images').html('');
});
});
.image_holder {
display: block;
height: 30px;
background-size: cover;
margin: 0 0 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>CLICK ME</button>
<div id="project-images"></div>
【问题讨论】:
-
按F12学习使用你看到的东西,调试网站很容易
-
您能否在问题中包含相关的 javascript/html?
-
分享您的 html/javascript 代码,您将获得帮助
-
您似乎希望在每次加载新项目时清除
#project-images。我在您的代码中看到$('#project_images').html('');,但它有一个下划线而不是连字符。此外,它在您附加所有图像之后,而不是之前。 -
我试图澄清问题并添加了一个工作演示。如果您觉得我的修改不正确或不恰当,请随时回滚修改。
标签: javascript jquery append