jQuery each()只选择最后一个值
jQuery each() only selects last value
我有两个列表。
第一个列表保存所有数据。另一个是占位符。我有一个按钮来获取默认值。它将第一个列表克隆到占位符中。
现在我用这个代码来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();
}
});
我该如何解决这个问题?
解决方案:
我不得不在迭代.to-drag
类的另一个循环之外做第二个each()
循环。
$("li.placeholder").each(function(){
var day = $(this).children().attr("data-id");
$(this).attr("data-id", day);
});
这是一个jsfiddle
在.each()
循环中,必须使用$(this)
,否则每次循环重复时都会更改所有内容。
所以只需更改代码的以下部分:
$("li.placeholder").each(function(){
$(this).attr("data-id", index);
});
相关文章:
- 无法在Ionic select中预先选择最后一个选项
- 推特引导滚动间谍总是选择最后一个元素
- 选择页面上具有特定类的最后一个元素
- 选择表中的最后一个元素
- jQuery - 选择具有相同 ID 的组的最后一个元素
- Knockout JS单选按钮如果所有值都为true,则选择最后一个按钮
- 通过鼠标向下选择父级中的最后一个子项
- jQuery slice() 方法 在 html 中选择元素(第一个/最后一个)
- 如何在 Jquery/Javascript 中选择预定义选择的第一个和最后一个元素而不循环
- 每当我在 jquery UI 日期选择器中更改月份/年份时,如何获取该月的第一个日期和最后一个日期
- 默认情况下,在 angularjs 中选择下拉列表中的最后一个位置显示占位符
- 从iPhone的多选框中取消选择最后一个选项
- jQuery:隐藏按钮,直到选择最后一个下拉列表
- 从下拉列表中选择最后一个值,然后对其他下拉列表禁用它
- 选择不适用于动态创建的选择图元.总是选择最后一个选项
- 我有DIV和它的子DIV,我想用jQuery选择最后一个DIV.父DIVS具有id
- 选择最后一个单词或“可满足内容”的特定范围
- 如何在下拉列表中选择最后一个索引值
- jQuery each()只选择最后一个值
- 如何使用last()选择最后一个元素,而不需要遍历子元素