从具有类ID(PK) |Name | Color | Quantity
1 apple red 1
2 apple red 1
的字段中我能够检索值,但.edit-links
仅返回找到的第一个元素,然后仅返回undefined。在控制台中,我可以看到“this”按预期定位第一个元素,但找不到第二个.edit-url并返回prevObject。
$(this).next(".edit-url").val();
$('#edit').click(function() {
edit.revertLink();
});
var edit = {};
edit.revertLink = function() {
$('.edit-link').each(function(index) {
var currentName = $(this).val();
var url = $(this).attr('data-tempurl');
var meta = $(this).attr('data-meta');
//edit.changeLiOrgname(this, currentName);
if (meta === "external") {
//url = $(this).next(".edit-url").val();
currentName = $(this).next(".edit-url").val();
//edit.changeLiOrgURL(this, url);
$(".edit-url").remove();
}
var linkStr = [
'<a href="' + url + '" class="aktiv">',
'' + currentName + '',
'<span class="type float-r">',
'' + meta + '',
'</span>',
'</a>'
];
$(".removeBtn").remove();
$(this).replaceWith(linkStr.join(''));
});
}
答案 0 :(得分:1)
错误
$(".edit-url").remove();
在此行中,您使用类 edit-url 删除所有元素,但只需删除一个当前元素。
您可以将其更改为
$(this).next(".edit-url").remove();
或者,只需在循环之后将其称为
edit.revertLink = function() {
$('.edit-link').each(function(index) {
...
});
$(".edit-url").remove();
}
答案 1 :(得分:0)
正是由于这种情况
if (meta === "external") {
//url = $(this).next(".edit-url").val();
currentName = $(this).next(".edit-url").val();
//edit.changeLiOrgURL(this, url);
$(".edit-url").remove();
}
当您的元数据是外部时,您正在删除所有.edit-url
,因此下一个链接找不到它的编辑网址。你应该这样做。
$(this).parent().find(".edit-url").remove();
答案 2 :(得分:0)