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

时间:2010-12-03 02:05:36

标签: jquery

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

1 个答案:

答案 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()函数代替使用属性来存储数据。这是您的自定义数据的更好地方。