zoukankan      html  css  js  c++  java
  • 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来定位。
  • 相关阅读:
    C. Shaass and Lights 解析(思維、組合)
    D. Binary String To Subsequences(队列)(贪心)
    CodeForces 1384B2. Koa and the Beach (Hard Version)(贪心)
    CodeForces 1384B1. Koa and the Beach (Easy Version)(搜索)
    CodeForces 1384C. String Transformation 1(贪心)(并查集)
    CodeForces 1384A. Common Prefixes
    POJ-2516 Minimum Cost(最小费用最大流)
    POJ3261-Milk Patterns(后缀数组)
    HDU-1300 Pearls(斜率DP)
    HDU-4528 小明系列故事-捉迷藏(BFS)
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426976.html
Copyright © 2011-2022 走看看