jquery的attr函数只能工作一次

我用这个片段来显示一个对话框。 但这很好用:标题仅在我第一次单击表格单元格时设置。 重新加载页面后,标题设置 – 一次。 无限广告……

$(document).ready(function() { $("td[id^='_ctl0_tbl_content_reportid_']").click(function() { var tokens = this.id.split('_'); var last_index = tokens.length - 1; var _dialog = $("#reportid_dialog_" + tokens[last_index]); var _title = _dialog.attr("title"); _dialog.dialog({ modal: true, closeText: 'Hide', width: 450, title: _title }); }); )}; 

我使用jQuery 1.4.2和jQuery-ui 1.8.2也许有人告诉我我做错了什么。

dialog()移动您传递给它的元素,以便它不再与选择器匹配。 可能是吗?

我认为你遇到了双选择器问题。 自从您选择:

 $("#reportid_dialog_" + tokens[last_index]); 

第二次单击表格单元格并调用dialog()时,会出现2个#reportid_dialog_实例,当您尝试设置attrs时会导致id发生冲突