对于尚不存在的 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/