Có 2 chức năng jQuery mà bạn sẽ muốn sử dụng tại đây.
1) click
. Điều này sẽ lấy một hàm ẩn danh vì nó là tham số duy nhất và sẽ thực thi nó khi phần tử được nhấp.
2) html
. Thao tác này sẽ lấy chuỗi html làm tham số duy nhất và sẽ thay thế nội dung của phần tử của bạn bằng html được cung cấp.
Vì vậy, trong trường hợp của bạn, bạn sẽ muốn làm như sau:
$('#content-container a').click(function(e){
$(this).parent().html('<a href="#">I\'m a new link</a>');
e.preventDefault();
});
Nếu bạn chỉ muốn thêm nội dung để div của bạn, chứ không phải là thay thế tất cả mọi thứ trong nó, bạn nên sử dụng append
:
$('#content-container a').click(function(e){
$(this).parent().append('<a href="#">I\'m a new link</a>');
e.preventDefault();
});
Nếu bạn muốn thứ e liên kết mới được thêm vào cũng để thêm nội dung mới khi nhấn vào, bạn nên sử dụng event delegation:
$('#content-container').on('click', 'a', function(e){
$(this).parent().append('<a href="#">I\'m a new link</a>');
e.preventDefault();
});
Nguồn
2011-08-21 15:35:58
câu hỏi tương tự để tham khảo: https://stackoverflow.com/questions/1309452/how-to-replace-innerhtml-of-a-div-using-jquery –