复制和修改元素,以便在html文档的另一部分使用它们
copy and modify elements to use them on another part of an html document
我有一个带有4个图像的滑块,我想使用滑块标记在文档的另一部分生成缩略图。在这种情况下,我使用了带有缩略图所需信息的数据属性。
这是滑块部分的代码:
<div id="sliderWrapper">
<div id="slider">
<div class="image" data-slide="1" data-thumb="thumb1.jpg" style="background-image: url('slide1.jpg');"></div>
<div class="image" data-slide="2" data-thumb="thumb2.jpg" style="background-image: url('slide2.jpg');"></div>
<div class="image" data-slide="3" data-thumb="thumb3.jpg" style="background-image: url('slide3.jpg');"></div>
<div class="image" data-slide="4" data-thumb="thumb4.jpg" style="background-image: url('slide4.jpg');"></div>
</div>
</div>
应使用此标记生成以下内容:
<div id="sliderThumbs">
<a class="item" data-slide="1" style="background-image: url('thumb1.jpg');"></a>
<a class="item" data-slide="2" style="background-image: url('thumb2.jpg');"></a>
<a class="item" data-slide="3" style="background-image: url('thumb3.jpg');"></a>
<a class="item" data-slide="4" style="background-image: url('thumb4.jpg');"></a>
</div>
问题是,我如何"复制"answers"修改"标记。
我的第一次尝试是使用jquery获取滑块div的子级:
var images = $('#slider').children('div').map(function(){
console.log($(this).attr('src'));
}).get();
但这样做效果不太好。我希望有人能帮助我实现这一目标。如何获取所有四个div并使用数据属性生成所需的标记?
谢谢!
使用find/attribute设置基于源元素创建一个新元素,并使用$.append()将其添加到目标元素。。。
这是一个工作解决方案
$("div.image").click(function(e){
var clicked = $(e.target);
var imageURL= "url('" + clicked.attr("data-thumb") + "')";
var toAppend = $("<a>")
.attr("data-slide", clicked.attr("data-slide"))
.css("background-image", imageURL)
.addClass("item")
.text("added "+ clicked.text());
$("#sliderThumbs").append(toAppend);
});
编辑了每个分区的文件加载小提琴。
$("div.image").each(function(index, d){
var div = $(d);
var imageURL= "url('" + div.attr("data-thumb") + "')";
var toAppend = $("<a>")
.attr("data-slide", div.attr("data-slide"))
.css("background-image", imageURL)
.addClass("item")
.text("added "+ div.text());
$("#sliderThumbs").append(toAppend);
});
$(function(){
var count = 1;
var img = $('#slider > .image').each(function(){
if($(this).attr('data-thumb')){
var vimg = $(this).attr('data-thumb');
var data = "<a class='item' data-slide='"+count+"' style='background-image: url("+vimg +")';></a>"
console.log(data);
count++;
};
});
});
相关文章:
- 如何放置单独的ajax调用,使页面的一部分完全响应,而另一部分仍在加载
- 将按钮链接到另一个页面的一部分
- 从另一个页面链接到手风琴的一部分
- 复制和修改元素,以便在html文档的另一部分使用它们
- ng-repeat=“(key, value)” 不能将 {{key}} 的值用作另一个指令的全局范围的一部分
- 如何使用 JavaScript 导航到页面的另一部分
- 将复选框的值设置为“选中”,当附加到页面的另一部分时
- JavaScript - 如何检查一个字符串是另一个字符串的一部分还是等于另一个字符串
- 使用 jQuery $.post() 方法获取另一个网页的一部分
- 检查一个句子或句子的一部分是否在另一个句子中
- 仅使用 html 将网页的一部分插入到另一个网页中
- 跨域重新创建表单功能的一部分,或在另一个网站上自动填充单个字段
- 在javascript中使用regex获取字符串的匹配部分并使用该部分替换另一部分
- 取消来自同一页面另一部分的警报
- 另存为文件的一部分
- Javascript代码不起作用,并将值传递给代码的另一部分
- 将JSON数组的一部分与另一个JSON数组组合在一起
- 为什么有些函数是全局的,而另一些函数是对象的一部分
- 使用一个变量名称作为另一个变量名的一部分
- 在OpenLayers中显示一部分层和另一部分层