2010年4月19日

jQuery siblings()とchildren()の内部ソースを見た

よく出来ていると思います。
勉強になります。

siblings: function( elem ) {
    return jQuery.sibling( elem.parentNode.firstChild, elem );
},
children: function( elem ) {
    return jQuery.sibling( elem.firstChild );
},

そしてjQuery.sibling()の中身です!
nodeTypeが1の場合はelementノードの意味です。
nはループに使われて、elemは除外する要素です。
例えばsiblings()の場合は自分自身を除外しています。
for文の書き方も覚えとこう、、
javaでのIteratorのhasNext()関数みたいな動きをしていますね。


    sibling: function( n, elem ) {
        var r = **;

        for ( ; n; n = n.nextSibling ) {
            if ( n.nodeType === 1 && n !== elem ) {
                r.push( n );
            }
        }

        return r;
    }

Share on Twitter Share the post
Qihuan Piao

朴 起煥

東京で働いている「外人歴」9年のソフトウェア「ライター」。いつの間にか納豆が食えるようになり、これで日本に慣れきったと思いきやまだまだ驚きが続いてる。読んだり書いたりするのが好きで、自身の経験や本から得た「何か」をここに書き出してる。最近古本屋にハマってる。

他にも英語中国語で書いてます、よろしければチェックしてみてください。