jQuery:如何存储不存在的元素的数据?

标签 jquery

对于尚不存在的 dom 元素存储数据的好方法是什么,但在创建时它们会获取该数据。

最佳答案

我将在这里做出一些假设,因为您的问题目前有点模糊,但听起来您想要操作尚不存在的 DOM 元素,很可能是因为它们将通过 AJAXily 加载。

jQuery 提供了一个名为 .live() 的函数它允许您将事件处理程序绑定(bind)到现在或将来存在的所有元素。

所以,如果您想向所有 <p> 的属性添加一些数据元素——甚至那些 DOM 中尚不存在的元素——你可以这样做:

// hook up an event handler that runs anytime a <p> is inserted into the DOM
$('p').live('DOMNodeInserted', function() {
    $(this).attr('title', 'foo');
});

// insert a couple <p> elements and see their title attributes update
$('body').append('<p>hello</p>');
$('body').append('<p>world</p>');

工作示例:http://jsfiddle.net/rsobers/TLXEu/3/

编辑:您可以使用 jQuery 的 .data() ,而不是使用属性来存储数据。函数代替。这是您的自定义数据的更好位置。

关于jQuery:如何存储不存在的元素的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4341856/

相关文章:

javascript - jquery 鼠标移动在触摸设备上不起作用

javascript - jquery: 替换 onclick 事件

javascript - 将一个 div 替换为另一个

javascript - 检查 isDate 返回无效日期

javascript - 使用 jquery 编辑图片 src

javascript - 通过按钮切换类的 JQuery 弹出窗口

javascript - jQuery(用户界面): Detect checking of a checkbox

javascript - 展开动态树中节点的父节点

jQuery 自动改变 div

javascript - 使用 jQuery 对话框将表单发送到 php 脚本