ã³ã¼ããªã¼ãã£ã³ã°jQuery.fn.nextAll
çµç·¯
jQuery.fn.nextAllãå²ã¨æ©ãã®ã§ã©ããnextSiblingãæ¬¡ã
辿ã£ã¦è¦ç´ ãè©°ããããã¦ããã ããã¨æã£ã¦ã³ã¼ãã追ã£ã¦ã¿ãã
ãã¼ã¸ã§ã³ã¯1.2.3ã使ç¨ã
(1)ã½ã¼ã¹ã³ã¼ãä¸ããnextAllãã§æ¤ç´¢ãããã1253è¡ç®ã1272è¡ç®ã«ããã£ã½ãã®ããã£ãã
jQuery.each({ /*ä¸ç¥*/ nextAll: function(elem){return jQuery.dir(elem,"nextSibling");}, /*ä¸ç¥*/ }, function(name, fn){ jQuery.fn[ name ] = function( selector ) { var ret = jQuery.map( this, fn ); if ( selector && typeof selector == "string" ) ret = jQuery.multiFilter( selector, ret ); return this.pushStack( jQuery.unique( ret ) ); }; });
(2)jQuery.each(732è¡ç®ã755è¡ç®)ã
(1)ã§ä½¿ã£ã¦ãã®ã ã¨å¼æ°ãäºã¤â¦argsãªãã第ä¸å¼æ°ã¯é
åã§ã¯ãªãâ¦object.length == undefinedãªã®ã§ã
ãã®æ¡ä»¶ã®å ´åã®ã¨ããã ãè¦ãã
each: function( object, callback, args ) { if ( args ) { /*ä¸ç¥*/ } else { if ( object.length == undefined ) { for ( var name in object ) if ( callback.call( object[ name ], name, object[ name ] ) === false )// ã³ã³ break; } else /*ä¸ç¥*/ } return object; },
ã«ã¼ããããããåã£ã¦ãã¼ãnextAllã®ã¨ããããã³ã³ãã¨ã³ã¡ã³ããã¤ãã¦ãã¨ãããéã£ãã¨ãã®å¦çãæ¸ãä¸ãã¨ãâãããªãã
(function(name, fn){ jQuery.fn[ name ] = function( selector ) { var ret = jQuery.map( this, fn ); if ( selector && typeof selector == "string" ) ret = jQuery.multiFilter( selector, ret ); return this.pushStack( jQuery.unique( ret ) ); }; }).call(function(elem){return jQuery.dir(elem,"nextSibling");},'nextAll',function(elem){return jQuery.dir(elem,"nextSibling");});
Function.prototype.callã®ç¬¬ä¸å¼æ°ã¯å®è¡ããã颿°ã®thisæ±ãã ãã©ã
ãã®é¢æ°å
ã«thisã¯ãªãã颿°å
ã§å®ç¾©ããã颿°ã«thisãããã ããªã®ã§ä»åã¯é¢ä¿ãªãã
第äºå¼æ°ä»¥éã¯ããããé çªãä¸ã¤ãã¤åã«ããã弿°ã¨ãã¦ä½¿ãããã®ã§ãâãããªãã
jQuery.fn.nextAllã®å®ç¾©
jQuery.fn[ 'nextAll' ] = function( selector ) { var ret = jQuery.map( this, function(elem){return jQuery.dir(elem,"nextSibling");} ); if ( selector && typeof selector == "string" ) ret = jQuery.multiFilter( selector, ret ); return this.pushStack( jQuery.unique( ret ) ); };
thisã第ä¸å¼æ°ã¨ãã¦ãjQuery.map(1193è¡ç®ã1210è¡ç®)ãå¼ã³åºãã¦ããã®ã¯ã
thisã§ããjQueryãªãã¸ã§ã¯ãã«é
åã®ããã«æ ¼ç´ãããDOMè¦ç´ å
¨é¨ã«ã¤ãã¦ã
第äºå¼æ°ã®é¢æ°ãå®è¡ãã¦åæ»ãå¤ãå
¨é¨é
åã«è©°ãã¦è¿ãã¦ãããã¨ããå¦çã«ãªãã
jQuery.dir(elem,"nextSibling")ãelem以éã®å
¨ã¦ã®å
å¼è¦ç´ ãè¿ãã®ã§ã
retã¯jQueryãªãã¸ã§ã¯ããæã£ã¦ãè¦ç´ å
¨ã¦ã«ã¤ãã¦ããããã®ã
èªå以éã®å
¨ã¦ã®å
å¼è¦ç´ ãæã£ã¦ããã
éä¸ãé£ã°ãã¦ãjQuery.fn.pushStackã¯é
åãæ¸¡ãã¨ã
å¾ã§jQuery.fn.endãjQuery.fn.andSelfã§ä½¿ãç¨ã«ã¹ã¿ãã¯ã«ç©ãã å¾ã
jQueryãªãã¸ã§ã¯ããè¿ãã
ä¾ãã°ãhttp://twitter.com/homeã§ãâãæµãã¨ã
jQuery('.vcard:eq(79),tr:eq(9)').nextAll()
81çªç®ä»¥éã®.vcardå
¨é¨ã¨11çªç®ä»¥éã®trå
¨é¨ãè¿ã£ã¦ããã
jQueryãªãã¸ã§ã¯ããæã£ã¦ãè¦ç´ å ¨ã¦ã«ã¤ãã¦ããããã®ã èªå以éã®å ¨ã¦ã®å å¼è¦ç´ ãæã¤jQueryãªãã¸ã§ã¯ã
ã¨ãããã¨ã«ãªãã
é£ã°ãã¦ããã¨ããã«è©±ãæ»ãã¨ã
jQuery.multiFilter(1448è¡ç®ã1459è¡ç®)ã¯ããããå¼ã°ãã¦ãjQuery.filterãçµæ§éããã®ã§ãä»åã¯å²æã
ä½ããã£ã¦ããã¨ããã¨å¼æ°ã§æå®ãããCSSã»ã¬ã¯ã¿ã§çµãè¾¼ãã§ãã ãã
jQuery('tr:eq(1)').nextAll(':contains(monjudoh)')
âã¨ãããã¨3çªç®ä»¥éã§ãmonjudohãã¨ããæååãå«ã¾ããtrãè¿ã£ã¦ããã
jQuery.unique(1160è¡ç®ã1179è¡ç®)ã¯jQuery.dataã追ããªãããããªãã®ã§ããã£ã±ã岿ã
é
åä¸ã®DOMè¦ç´ ã®éè¤ãåãé¤ãã¦ãã¨ææ¡ãã¦ããã°OKã
ä¾ãã°âã¯1çªç®ã®trã¸ã®åç
§ãäºã¤å
¥ã£ãjQueryãªãã¸ã§ã¯ããè¿ãã
jQuery('tr:eq(0),tr:eq(0)')
âã ã¨2çªç®ã20çªç®ã®trã2åå
¥ã£ã¦sizeã38ã®jQueryãªãã¸ã§ã¯ãã§ã¯ãªããsizeã¯19ã®jQueryãªãã¸ã§ã¯ããè¿ãã
jQuery('tr:eq(0),tr:eq(0)').nextAll()
jQuery.dir(1779è¡ç®ã1788è¡ç®)
dir: function( elem, dir ){ var matched = []; var cur = elem[dir];// ä»åã®å ´åelem.nextSiblingã¨åã while ( cur && cur != document ) { if ( cur.nodeType == 1 )// Node.ELEMENT_NODE == 1 matched.push( cur ); cur = cur[dir];// ä»åã®å ´åcur.nextSiblingã¨åã } return matched; },
第ä¸å¼æ°ã§æ¸¡ããè¦ç´ ãèµ·ç¹ã¨ãã¦nextSiblingãæ¬¡ã
ã«è¾¿ãã
ELEMENT_NODEã®å ´åã®ã¿é
åã«è©°ãã¦ãã£ã¦ããã以ä¸è¾¿ããªããªã£ããé
åãè¿ãã
ææ³
- jQuery.eachã§å䏿§é ã®é¢æ°ã䏿¬å®ç¾©ãã¦ãã®ãé¢ç½ãã£ãã
- ãã£ã¡è¡ã£ãããã£ã¡ãã£ããããã®ã§è¿½ãã®ã大å¤
æãããã¤ã³ãã¯â