我有以下代码:
var $form = '',
$modal = '',
$submits = '';
function createModal() {
$modal = $.modal({
title: title,
closeButton: true,
content: content,
resizeOnLoad: true
});
$form = $modal.find('.form');
$message = $modal.find('.message');
$submits = $modal.find('.submit-button');
href = $form.attr('data-href');
}
是否有某些方法可以将$ form,$ message和$ submits添加到$ modal对象中,因为它们都是相关的。
答案 0 :(得分:1)
要将数据关联到jQuery对象,您可以使用data函数:
jQuery.data()方法允许我们将任何类型的数据附加到DOM 元素以一种不受循环引用安全的方式,因此 没有内存泄漏。 jQuery确保在何时删除数据 DOM元素通过jQuery方法删除,并在用户离开时删除 这页纸。我们可以为单个元素设置几个不同的值 稍后检索它们:
- jQuery.data(document.body,'foo',52);
- jQuery.data(document.body,'bar','test');
您通常需要这样做,因为简单地将一些属性与jQuery对象相关联将不允许您从包含相同元素的另一个对象获取数据。
在您的情况下,如果您保留对对象的引用,则可以执行
function createModal() {
var $modal = $.modal({
title: title,
closeButton: true,
content: content,
resizeOnLoad: true
});
return {
$modal : $modal,
$form : $modal.find('.form'),
$message : $modal.find('.message'),
$submits : $modal.find('.submit-button'),
href : $form.attr('data-href')
};
}
var modal = createModal();
因此,您只对整个内容保持一个干净的引用,您可以访问modal.$modal
或modal.$form
。