从数组中删除 li 和
Remove li and from array
//Created based off other variables
array = ["apple", "john", "monkey"];
for (var i = 0; i < array.length; i++) {
var li=document.createElement('li');
ul.appendChild(li);
li.innerHTML += '<li>' + array[i];
li.innerHTML += '<a href="#" class="clear">'+remove+'</a></li>';
}
$('a.clear').click(function() {
$(this).parent().remove();
return false;
});
您可以从上面看到(不是完整的代码,而是基本思想(,每个创建的li
都有一个与之关联的"删除"按钮。单击"删除"将删除li
,但我无法弄清楚如何准确地将其从数组中删除......
我试图向关联的li
添加一个值,如下所示:
li.innerHTML += '<a href="#" value="'+array[i]+'" class="clear">'+remove+'</a></li>;
我在想也许我可以在单击"删除"时使用该值,因为函数将使用indexOf
与数组匹配并删除它,但我无法弄清楚如何准确地从单击函数中提取任何值。
任何建议都会有所帮助。
array = ["apple", "john", "monkey"];
$( "body" ).append( "<ul></ul>" );
for(i=0;i<array.length;i++) {
$( "ul" ).append( $( "<li>" ).html(array[i]+' <a href="#" class="clear" data-item="'+array[i]+'">remove</a>' ));
}
$('a.clear').click(function(e) {
e.preventDefault();
$(this).parent().remove();
index = array.indexOf($(this).data('item'));
if(index != -1) {
array.splice(index, 1);
}
console.log(array);
});
JQuery 解决方案:http://jsfiddle.net/v9p5k6sm/2/
解释 - 检查值而不是键更安全,因为键在拼接后会更改。
尝试在 li 元素中使用 id,这将包含数组中特定对象的 id。
//Created based off other variables
array = [{id: 1, title: "apple"}, {id: 2, title: "john"}, {id: 3, title: "monkey"}];
for (var i = 0; i < array.length; i++) {
var li=document.createElement('li');
ul.appendChild(li);
li.innerHTML += '<li>' + array[i].title;
li.innerHTML += '<a href="#" id=' + array[i].id + ' class="clear">'+remove+'</a></li>';
}
$('a.clear').click(function() {
$(this).parent().remove();
var index = $(this).attr('id');
array = array.filter(function(item) {
return item.id != index;
});
return false;
});
相关文章:
- 从数组中删除 li 和
- 从 li 中删除类
- addClass 到当前 li 元素并删除类
- 如何删除包含特定子项的 li
- jquery .删除整个 li 或 table 元素后
- Rails-使用Ajax删除li元素
- jQueryUI可排序-从可排序列表中删除li
- .slideup()删除整个ul,而不仅仅是嵌套的li
- 从ul中删除li元素
- 删除不起作用的li元素
- 删除具有jQuery属性的li
- 添加和删除jquery-li元素
- 对于列表中包含带文本的跨度的每个li,请从该li中删除另一个跨度
- 通过使用jQuery和JavaScript单击另一个LI来删除一个LI
- 如何使用jquery按数据属性删除li标签
- Javascript - 单击时需要删除 li 元素
- addClass 的对象格式,使用 jquery 添加文本并删除 li
- 单击添加/删除活动类 li 项
- Javascript 错误:尝试删除类并将其添加到 li 元素时,“undefined 不是函数”
- 如何在锚点单击时删除以前的 li