为尚不存在的dom元素存储数据的好方法是什么,但是在创建时,它们获取该数据。
答案 0 :(得分:3)
我要在这里做一些假设,因为你的问题目前有点模糊,但听起来你想操纵那些尚不存在的DOM元素,很可能是因为它们将被加载AJAXily。
jQuery提供了一个名为.live()
的函数,它允许您将事件处理程序绑定到现在或将来存在的所有元素。
因此,如果您想将一些数据添加到所有<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()
函数代替使用属性来存储数据。这是您的自定义数据的更好地方。