如何在上一次 JQuery 调用后访问 DOM
How to access the DOM after a previous JQuery call
我对JQuery不太熟悉,所以请耐心等待。
本质上,我在运行一些 JQuery 脚本的视图上有两个超链接:
<a href='#' class="deleteCustomer">Delete</a></td>
.
.
<a href="#" class="undoCustomer">Undo</a>
因此,这些链接中的每一个都访问同一.js文件的不同部分。我的"删除"执行一些处理,在数据库中执行软删除。 DOM 加载并且工作正常。我正在使用Firebug,当我插入控制台时.log在.js中我可以看到要删除的客户ID的ID,其余的很简单。
$(container).find('a.deleteCustomer:first').click(function(e) {
console.log("CustomerId " + $(container).find('input[name=Customer_CustomerId]:first').val());
但是,我的"撤消"在不同的行和控制台上访问相同的.js.log在.js的"撤消"部分中显示它没有被击中。
$(container).find('a.undoCustomer').click(function(e) {
console.log("CustomerId " + $(container).find('input[name=Customer_CustomerId]:first').val());
因此,DOM 似乎尚未准备就绪(? 如果是这种情况,我该如何解决这个问题? 我必须手动重新加载 DOM 吗? 如果是这样,如何?
附言当我首先单击"撤消"时,似乎没有任何反应,即我在FireBug中没有得到任何console.logs。 但是,如果我刷新浏览器,它会按预期运行,即撤消关于执行的 jquery。
没有完整的代码,很难分辨。从您的帖子,标题和评论中,我看到了两个可能的原因。
首先,你可能在 DOM 完全准备好之前运行你的代码,然后尝试将所有 javascript 初始化脚本包装在:
$(function() {
... // your code here
});
其次,当您单击删除时,您是否删除了"输入"?如果是这种情况,"查找"无法恢复它是正常的。在这种情况下,撤消的解决方案是隐藏"输入"并在单击"撤消"时将其显示回来。
相关文章:
- 从popup.js|Chrome扩展访问DOM
- React:是否可以访问DOM元素's道具
- Meteor - 从另一个模板事件处理程序访问 DOM 元素
- react-在不破坏封装的情况下访问DOM
- 通过访问DOM添加功能
- 如何通过知道节点的值来访问dom&&只要知道价值就可以得到手风琴的索引
- 动态加载页面后无法访问 dom 树
- 无法访问 DOM 元素
- 访问 DOM 树中的特定字段
- 为什么通过缓存变量访问 DOM 更快
- 如何在上一次 JQuery 调用后访问 DOM
- 如何在 React 应用程序中不可用的函数中访问 DOM 元素
- 通过jQuery访问DOM元素
- 浏览器化:从脚本访问 dom 元素
- 斯宾纳 - 访问 DOM
- 我们可以在不将其加载到无限可滚动网页中的情况下访问 DOM 元素吗?
- 从 JavaScript 访问 DOM 元素并向其发送事件
- Firefox 扩展:在加载之前访问 DOM
- d3.js 在就绪文档上访问 DOM
- 通过 ID 访问 DOM 元素