]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - resources/src/jquery/jquery.getAttrs.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / resources / src / jquery / jquery.getAttrs.js
diff --git a/resources/src/jquery/jquery.getAttrs.js b/resources/src/jquery/jquery.getAttrs.js
new file mode 100644 (file)
index 0000000..e00298f
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ * @class jQuery.plugin.getAttrs
+ */
+( function ( $ ) {
+       function serializeControls( controls ) {
+               var i,
+                       data = {},
+                       len = controls.length;
+
+               for ( i = 0; i < len; i++ ) {
+                       data[ controls[ i ].name ] = controls[ i ].value;
+               }
+
+               return data;
+       }
+
+       /**
+        * Get the attributes of an element directy as a plain object.
+        *
+        * If there is more than one element in the collection, similar to most other jQuery getter methods,
+        * this will use the first element in the collection.
+        *
+        * @return {Object}
+        */
+       $.fn.getAttrs = function () {
+               return serializeControls( this[ 0 ].attributes );
+       };
+
+       /**
+        * Get form data as a plain object mapping form control names to their values.
+        *
+        * @return {Object}
+        */
+       $.fn.serializeObject = function () {
+               return serializeControls( this.serializeArray() );
+       };
+}( jQuery ) );