jQueryã§è¤æ°ã®è¦ç´ ãè¿ã£ã¦ããã»ã¬ã¯ã¿ã®çµæã»ããã«getç³»ã®é¢æ°ãé©ç¨ããå ´åã®è¿ãå¤
å²ã¨å¸¸èçãªè©±ãããããªããã©
ä¾ãã°ã
(function($) { $(".hoge").attr("name", "hoge"); })(jQuery);
ã¨ããé¢¨ã«æ¸ãã¨ãå é¨çã«ã«ã¼ããåã£ã¦hogeã¯ã©ã¹ãæå®ããã¦ããelementå ¨ã¦ã®nameã"hoge"ã«ã§ãããã¨ããã®ã¯å²ã¨ç¥ããã話ã§ããã
ãããã
(function($) { console.log($(".hoge").attr("name") === "hoge"); // ? })(jQuery);
ã¨ããå½¢ã§ãattrã®å¼æ°ã1ã¤ã«ãã¦ï¼ã¤ã¾ãsetã§ã¯ãªãgetï¼å¼ã³ã ãã¨ã©ããªãããã¨ãã話ã ãã©ãçµè«ã¨ãã¦ã¯jQueryã®ã½ã¼ã¹ãèªãã¨
ä¸è¨ã®attrã¯ããã§
jQuery.fn.extend({ attr: function( name, value ) { return jQuery.access( this, name, value, true, jQuery.attr ); },
jQuery.attrã¯ã¡ãã£ã¨ã ãé·ãã®ã§å²æãããã©ãåä½ã®elementã«å¯¾ãã¦set/getãè¡ãããã®é¢æ°ã£ã¦ãã¨ã§ãjQuery.accessã¯
// Mutifunctional method to get and set values to a collection // The value/s can be optionally by executed if its a function access: function( elems, key, value, exec, fn, pass ) { var length = elems.length; // Setting many attributes if ( typeof key === "object" ) { for ( var k in key ) { jQuery.access( elems, k, key[k], exec, fn, value ); } return elems; } // Setting one attribute if ( value !== undefined ) { // Optionally, function values get executed if exec is true exec = !pass && exec && jQuery.isFunction(value); for ( var i = 0; i < length; i++ ) { fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); } return elems; } // Getting an attribute // 註ï¼lengthããªãå ´åã¯ä¸ã¤ãã®è¦ç´ ã«ã®ã¿fnãé©ç¨ return length ? fn( elems[0], key ) : undefined; },
ã¨ãªã£ã¦ããã®ã§ãè¤æ°ã®elementãè¿ããããªã»ã¬ã¯ã¿ã使ã£ã¦ãã¤çµæã«getç³»ã®æä½ãè¡ãå ´åã¯ãä¸ã¤ãã®è¦ç´ ã«å¯¾ããgetã®çµæãè¿ã£ã¦ãããã¨ãã話ã