• YUI3学习笔记 ( 5 )


    [ nodeList类 ]

    <1> 首先,nodeList类并不是array类型!和jquery选择符得到的结果无视数组还是非数组不一样,YUI3对数组还是非数组分得非常清楚,用Y.get()和query()返回的一定是单一的结果,而用Y.all()和queryAll()得到的才会是“数组”,其实也不是数组,而是封装后的数组,也就是nodeList对象。这么做的好处其实很明显,也很符合YUI和jquery一贯的定位。jquery的最大特点就是好用,api尽量“简单”,YUI相比jquery显得更精致,api非常“精确”,提供更多细节的接口。

    <2> .each()方法。nodeList类也有.each方法,也就使得它看起来似乎更像个数组类型了。.each()方法接受两个参数,第一个是执行函数,第二个是执行函数的this指向对象。执行函数会传入三个参数,第一个是.each()方法中会遍历的每个nodeList中的node,第二个是索引,第三个是一个包含选择符和自动生成id的特殊对象(暂时没想到会有什么用)。值得一提的是,如果不指定执行函数的this指向,那么this指向当前node,也就是赞同于arguments[0],如此一来,我们就有了更灵活的选择,可以指定执行函数的this指向,需要当前node就使用arguments[0]。

    <3>.size()方法。nodeList类是通过.size()方法来获得node个数的。和jquery可以用.length或者size()来获得子元素个数不一样,这里只能用.size()方法,没办法,nodeList不是数组。

    <4>.even()方法和.odd()方法。这两个方法都是将nodeList截取一部分,重新返回一个“数组”。其中.even()返回的是奇数索引的数组,而.odd()返回的是偶数索引的数组。

    <5>.on()方法。和jquery不同的是,对于“数组”的on()方法,this指针指向的并不是遍历时的当时node,而是整个nodeList。如果要找到当前node,需要用e.target来定位。
  • 相关阅读:
    窗口的基本手势事件处理
    用户自定义手势,并识别
    安卓程序国际化,手机屏幕适配器
    排序:冒泡,快排,归并。
    哈夫曼树学习
    二叉树的学习。
    ArrayList和vector的区别
    关于try-catch-finally return 的面试题
    Java中的抽象和封装
    关于SelectedValue的众多解决方案
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426976.html
Copyright © 2020-2023  润新知