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来定位。
  • 相关阅读:
    log4j 配置详解
    log4j2单独的配置与使用&log4j2+slf4j的结合的配置与使用
    jdk时区相差8小时
    javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误解决办法
    SqlServer 统计用户量实例(按年,月,日分组)
    sqlserver with as 双向递归
    eclipse启动无响应,停留在Loading workbench状态
    JS制作闪动的图片
    查询数据库中表名和扩展属性
    sql 查询除某字段的其他字段的记录
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426977.html
Copyright © 2011-2022 走看看