我有一个存储在变量中的选择器。页面中的内容动态变化,我面临的问题是当内容被删除后,缓存的选择器不起作用。如何重新评估或刷新选择器? https://jsfiddle.net/qehdvedd/
var selector;
function Remove(){
selector.refresh();
selector.remove();
}
function Add(){
$("#div1").append('<div class="div2">New content</div>');
}
$(document).ready(function () {
selector = $(".div2");
});
$.fn.refresh = function() {
return $(this.selector);
};
我也引用了(How can I refresh a stored and snapshotted jquery selector variable),但它不起作用。 我知道替代解决方案,例如将选择器名称存储为字符串并使用jquery调用它。
修改: 我将告诉确切的情况。我正在一个spa网站上工作,如果我点击了一个元素并转到水疗中心的下一页。然后如果我按下Esc或后退按钮我需要聚焦最后选择的项目还需要添加一个类来显示哪个被选中。我将选择器存储在变量中,以便在单击元素时知道最后选择的项目。如果按下Esc键,我将专注于存储最后一个选定项目的变量。但由于spa,内容被删除并动态添加。所以这个解决方案似乎不起作用。我不能使用替代解决方案,例如将选择器名称存储为字符串并使用jquery调用它。由于页面上存在太多项目,因此使用Id添加每个项目都是不切实际的。 示例:http://jsfiddle.net/2v78hmb5/