UCCN1003
修改
<script type="text/javascript">
$(function(){
$('a.edit').click(function(event){
var change = $(this).parent('div').find('p');
var changeText = change.text();
var wrapper = $(this).parent('div');
var clone = change.clone(true);
var changeBox = $(this).parent('div').find('.editBox');
var changeBoxText = changeBox.val();
if($(this).text() == 'Edit'){
wrapper.prepend("<input class='editBox' type='text' value='"+ changeText + "'/>");
wrapper.append("<a href='#' class='save' style='margin-left:10px' >Save</a>");
change.remove();
$(this).text("cancel");
}else if($(this).text()=='cancel'){
wrapper.prepend("<p>" + changeBoxText +"</p>");
$('.editBox').remove();
$('.save').remove();
$(this).text('Edit');
}
});
$('.save').click(function(event){
var editBox = $(this).parent('div').find('.editBox');
var editBoxText = editBox.text();
var wrapper = $(this).parent('div');
wrapper.prepand("<p>" + editBoxText + "</p>");
editBox.remove();
$(this).remove();
});
});
</script>
我的工作是
$('.save').click(function(event){
var editBox = $(this).parent('div').find('.editBox');
var editBoxText = editBox.text();
var wrapper = $(this).parent('div');
wrapper.prepand("<p>" + editBoxText + "</p>");
editBox.remove();
$(this).remove();
});
其中包装器不会预备p标签,而editBox和.save不会被删除。 我尝试在此添加警报(“工作”),它根本不会发出警报。有谁知道为什么?
答案 0 :(得分:0)
这就是:.prepand()
,应该是:.prepend()
:)
目前它会抛出一个.prepand()
不是函数错误,就这些问题而言,对于更短的完整版本,您也可以使用.prependTo()
:
$('.save').live('click', function() {
var editBox = $(this).parent('div').find('.editBox').remove();
$("<p />", { text: editBox.val() }).prependTo($(this).parent('div'));
$(this).remove();
});
乍一看,我发现你是动态添加这些内容,在这种情况下你应该像上面一样使用.live()
,.click()
选择器会找不到这些元素以后,所以它永远不会运行:)。