nl_tokens: 查找节点，返回一个可操作的节点数组
pl_tokens: function tethys ( selector , context ) { var nodes = [ ] ; // 把参数转换为包含Node的数组 if ( selector . each && selector . on ) { // tethys 对象 return selector ; } else if ( typeof selector === 'string' ) { // html代码或选择器 if ( selector . match ( / ^[^\b\B]*\< / ) ) { // html代码 nodes = tethys . parseHtml ( selector ) ; } else { // 选择器 nodes = ( <mask> || document ) . querySelectorAll ( selector ) ; } ; } else if ( Array . isArray ( selector ) || selector . constructor === NodeList ) { // 包含节点的数组或NodeList nodes = selector ; } else { // 节点 nodes = [ selector ] ; } ; // 当Node被appendChild方法添加到其它元素中后，该Node会被从它所在的NodeList中移除 // 为了避免这种情况，我们要把NodeList转换成包含Node的数组 nodes = Array . prototype . map . call ( nodes , function ( n ) { return n ; } ) ; // 给数组添加dom操作方法 tethys . extend ( nodes , tethys . fn ) ; return nodes ; }