我在Javascript中非常平庸,并且环顾四周我无法找到有关如何实现我想要的行为的信息,或者甚至是否可能。
我有一个名称空间form
来访问我的HTML表单:
var form = (function(){
all = function () $('#myform .entry');
first = function () $('#myform .entry').first();
})();
form.all.css('color', 'blue');
form.first.css('color', 'red');
期望的额外行为:
form.css('background-color', 'green'); // should be calling $('#myform')
这可能吗?
答案 0 :(得分:2)
你没有命名空间,你有一个包含函数的对象文字(现在你编辑了它,并添加了一个更难理解的IIFE),并且函数有返回一些能够使用它的东西
var form = {
all : function () {
return $('#myform .entry');
},
first : function () {
return $('#myform .entry').first();
}
}
form.all().css('color', 'blue');
form.first().css('color', 'red');
或者如果您希望将集合存储在对象中,而不是每次都在DOM中查找
var form = $('#myform');
form.all = $('#myform .entry');
form.first = $('#myform .entry').first();
form.all.css('color', 'blue');
form.first.css('color', 'red');