在插入新的<li>
时,我必须将单击的按钮的值设置为“删除”。我怎样才能做到这一点?
使用实际代码,它只能运行一次,并且在添加其他列表时,该按钮不再具有值“删除”。
$("#mylist :button").click( function() {
var text = $(this).val();
if (text == "Delete") {
$(this).parent().remove();
} else {
$(this).val("Delete");
}
});
$("#mylist li:last-child").live('click', function() {
$(this).parent().append('<li>' + '<input type = "textbox">' +
'<input type = "button" value= "Save">' + '</li>');
});
<div>
<ul id="mylist">
<li id="1">1<button id="Button3">Delete</button> </li>
<li id="2">2<button id="Button2">Delete</button></li>
<li id="3">3<button id="another_entry">Save</button></li>
</ul>
答案 0 :(得分:3)
使用text()
代替val()
var text = $(this).text();
if (text === "Delete")
{
$(this).parent().remove();
}
else
{
$(this).text("Delete");
}
答案 1 :(得分:1)
呀。这些经常被滥用:
.val()
获取/设置输入值
.text()
获取/设置元素的文本(例如以下<td>text</td>
中的“文字”(
.html()
在元素中添加HTML,例如以下<a>anchor</a>
<td><a>anchor</a></td>
答案 2 :(得分:1)
我认为您的ID选择器错误
应该是
$("#mylist li:last-child button")
而不是
$("#categorylist li:last-child button")
并更改
$(this).parent().append('...);
到
$(this).parent().parent().append('...');