here獲得新的值是一個的jsfiddlejQuery的Val函數從文本區域
這裏是我的html
<table id="commentsTable">
<tr>
<td name="userid"> JIM </td>
<td name="comment" id="68" class="commentTD"> something </td>
<td><a class="edit" href="#">edit</a></td>
</tr>
</table>
和我的JS:
var update = "update";
$("a.edit").click(function(e) {
e.preventDefault();
var comment = $(this).closest("tr").find('.commentTD');
comment.html('<textarea name="comment" class="commentArea">' + comment.text() + '</textarea>');
$(this).removeClass().addClass(update).text(update);
bindUpdate();
});
function bindUpdate() {
$("a." + update).click(function(e) {
e.preventDefault();
var commentNewText = $(this).closest('tr').find('textarea.commentArea').val();
alert(commentNewText);
});
};
我可以添加一個文本和綁定一個點擊事件,但我似乎無法得到新值,我得到了舊的...
這很奇怪。我看到它的工作,但我不明白爲什麼。舊的事件是在'edit'類上,但我正在改變這個類,這樣事件將不再有效。 – devmonster
事件不會綁定到類,而是綁定到元素本身......您不會刪除舊的鏈接元素,只會更改其類和文本,因此仍然會保留第一個綁定的功能 –
hi zathus,仍然很奇怪,這在不久前(上週)。感謝您的快速回復! +感謝關於$(this)元素的其他評論! – devmonster