我正在编写一个名为serializePost的函数。
永远不会在一组对象上调用该函数。 只有一个对象。
因此我的问题是;
我需要this.each
,还是只需使用this
这会起作用吗?
(function($) {
$.fn.serializePost = function() {
var data = {};
var formData = $(this).serializeArray();
for (var i = formData.length; i--;) {
var name = formData[i].name;
var value = formData[i].value;
var index = name.indexOf('[]');
if (index > -1) {
name = name.substring(0, index);
if (!(name in data)) {
data[name] = [];
}
data[name].push(value);
}
else
data[name] = value;
}
return data;
};
})(jQuery);
答案 0 :(得分:2)
无需使用.each()
,也无需将其包裹起来。
var formData = this.serializeArray();
在插件中,this
已经是对jQuery对象的引用。
答案 1 :(得分:2)
你可以observe the source of the .val()
function基本上弹出选择链中的第一个元素并使用它:
var elem = this[0]