我有2个清单.
第一个列表包含所有数据.另一个是占位符.我有一个按钮来取默认值.将第一个列表克隆到占位符中.
现在我将这个代码用于alert所有找到data-id的代码.哪个工作正常.
但是当我尝试将这些数据属性粘贴到占位符时,它总是粘贴每个占位符中的最后一个值.
$(".default").click(function() {
$("li.to-drag").each(function(index) {
$("li.placeholder").addClass("dropped");
var clone = $(this).clone();
var day = $(this).attr("data-id");
$("li.placeholder").each(function(){
$("li.placeholder").attr("data-id", index);
});
clone.hide().appendTo("." + index).fadeIn(1500);
});
var dropped = $(".dropped").length;
var original = $(".placeholder").length;
if (dropped === original) {
$("li.placeholder").removeClass(blank_placeholder);
$("#dropzone").append('<li class="placeholder blank" data-id="" data-order=""></li>');
init();
}
});
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
解决方案:
我不得不each()在另一个迭代.to-drag该类之外的第二个循环.
$("li.placeholder").each(function(){
var day = $(this).children().attr("data-id");
$(this).attr("data-id", day);
});
Run Code Online (Sandbox Code Playgroud)
在你的.each()循环中,你必须使用$(this),否则每次循环重复时你都会改变一切.
所以只需更改代码的以下部分:
$("li.placeholder").each(function(){
$(this).attr("data-id", index);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |