我有各种各样的。如何根据特定ul中单击的按钮添加新列表 如何获取保存按钮的ul点击并创建并添加到该ul?
的li<ul id ="list1"><li>item1</li><input type= "Button" id = "test1" value = "Save"></ul>
<ul id ="list2"><li>item11</li><input type= "Button" id = "test11" value = "Save"></ul>
Jquery代码如下:
$(document).ready(function(){
$("#list :button").click(function(){
var text = $(this).val();
if ( text == "Delete") {
$(this).parent().remove();
}
if(text =="Save")
{
//How to get the UL of the button saved clicked and create and add li to that UL
}
});
});
答案 0 :(得分:1)
$(this).closest('ul').append('<li>');
但您不应该直接在UL中使用按钮。 UL应该只包含列表项。
答案 1 :(得分:0)
您的代码的第一个问题是您的选择器是错误的。要选择ul中的按钮,您可以使用
$("ul :button")
你可以写这样的代码。
我认为你的要求是
点击按钮,在点击按钮时将新项目添加到列表中,然后将按钮值从保存更改为删除
再次单击按钮,从ul中删除新创建的li,并将按钮的值从Delete更改为Save。
为此,您可以使用 toggle function
$("ul :button").toggle(
function(){
var elem = $(this);
elem.closest("ul").prepend("<li>item</li>");
elem.val('Delete');
},
function(){
var elem = $(this);
elem.closest("ul").find("li:first-child").remove();
elem.val('Save');
});
如果要在第二次单击时删除ul元素,可以替换
elem.closest("ul").find("li:first-child").remove();
与
elem.closest("ul").remove();