我正在使用这样的代码(简化):
var $form = $('form')
var els = {
radio: $form.find('input[type=radio]'),
check: $form.find('input[type=checkbox]')
}
有form
问题的可能包含动态添加的输入,但els
对象在定义时是静态的,如果表单获得新的输入,radio
并且check
不会更改。我需要els
在整个代码中经常使用,所以我想出了这个简单的解决方案:
var getEls = function () {
return {
radio: $form.find('input[type=radio]'),
check: $form.find('input[type=checkbox]')
}
}
var foo = function () {
var els = getEls()
// do something with `els`
}
这很好用,但我认为这可能不会提供最佳性能,因为它每次都必须再次查询所有元素。有一个更好的方法吗?