Так потому что теперь уже событие вешается после добавления)))
Вешайте событие при загрузки страницы, и при добавление элемента вешайте ему тоже событие, вот так:
<div>Первый Div</div>
<button>Создать</button>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function() {
$("<div>Еще один Div</div>").appendTo("body")click(function() {
$(this).replaceWith("<div>Заменен</div>");
});
});
$("div").click(function() {
$(this).replaceWith("<div>Заменен</div>");
});
});
</script>
Хех, забыл, в JQuery есть такое как
live()
Так вроде должно работать:
<div>Первый Div</div>
<button>Создать</button>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function() {
$("body").append("<div>Еще один Div</div>");
});
$("div").live('click', function() {
$(this).replaceWith("<div>Заменен</div>");
});
});
</script>