`
happycute
  • 浏览: 4466 次
  • 性别: Icon_minigender_2
  • 来自: 宁波
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

了解YUI【二】(转)

    博客分类:
  • YUI
阅读更多

YUI之Node

   Node是用来操作DOM node的工具,实际上每一个Node实例都代表着一个DOM node,每一个NodeList都代表着一组DOM node.

 

1.先引入YUI3的种子文件:

<script src=" http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js"> </script> 

 再加载相应模块:

YUI().use('node', function(Y) {   

}); 


2. 获得Node

   可以使用YUI.one()获取Node,该方法的参数可以是一个Node,也可以是一个选择器(selector),在使用选择器时,返回首个匹配元素。默认情况下css3选择器不被支持,如果要使用,需要加载“selector-css3”模块。

YUI().use('node', function(Y) {   

 var node1 = Y.one('#main');   

 var node2 = Y.one(document.body);   

});  


3. 访问Node属性

   可以使用Node的set,get方法访问Node的属性,需要注意的是如果返回节点的话返回的是YUI Node而不是DOM node,这一点在其他地方也要注意。

YUI().use('node', function(Y) {   

var node = Y.one('#foo');   

var parent = node.get('parentNode'); // Node instance   

var html = 'I am "' + node.get('id') + '".';   

html += 'My parent is "' + parent.get('id') + '"';   

 node.set('innerHTML', html);   

});  


4. 事件监听

  可以用on方法添加事件监听器:

YUI().use('node', function(Y) {   

Y.one('#demo').on('click', function(e) {   

 e.preventDefault();   

 alert('event: ' + e.type + ' target: ' + e.target.get('tagName'));    

  });   

});  


5. DOM方法

  Y.Node提供了所有DOM node的原有方法

 

6. NodeList的使用

  NodeList提供了与Node相似的API,但是它的处理时对所有NodeList中的所有Node作用的。

  例如如下代码对demo的所有子元素添加'bar'类: 

 YUI().use('node', function(Y) {   

  Y.one('#demo').get('children').addClass('bar');   

});  


7. 查找

  Node提供one,all,test方法实现查找第一个匹配元素,查找所有匹配元素,测试是否存在匹配元素的功能

 

转自:http://blog.sina.com.cn/s/blog_632d19d50100rztu.html

分享到:
评论

相关推荐

    jquery 技巧总结

    这导致了一系列JavaScript框架的诞生,其中包括Prototype、YUI、jQuery、MooTools、Bindows以及国内的JSVM框架等。这些框架不仅提升了前端开发的效率,还改善了用户体验。 **jQuery**作为一款杰出的JavaScript库,...

    symfony cookbook 2.4

    #### 二、使用 Assetic 进行资产管理 ##### 2.1 如何使用 Assetic 进行资产管理 Assetic 是 Symfony 的一个组件,用于处理和管理前端资源,如 CSS、JavaScript 文件等。它支持多种功能,包括压缩、合并文件以及处理...

    Computer Science E-75

    UI Library (YUI)**:提供了YUI Reset CSS和YUI Fonts CSS来帮助开发者解决跨浏览器兼容性问题。 通过以上内容可以看出,“Computer Science E-75”课程覆盖了构建动态网站所需的各种关键技术和实践知识,旨在培养...

    参考简历模板三.doc

    - **项目技术**:Struts2 + Spring2.5 + Hibernate3 + POI + YUI + OGNL + Flex + 3D + PDA(C++) - **生产环境**:Linux + Tomcat6 - **项目描述**:该项目旨在实现物流信息的代码化、数据库化,提高物流信息处理的...

    高性能web开发(2)

    为了理解为什么减少HTTP请求数能够提升Web性能,首先我们需要了解HTTP请求的基本构成。以下是一个典型的HTTP请求头示例: ``` Host: www.google.com.hk User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-...

    Jquery上传控件

    上传控件会创建一个用户可交互的界面,用户可以通过这个界面选择文件,然后控件将文件数据转换成二进制流,通过Ajax发送到服务器,从而避免了传统表单提交导致的页面刷新。 在描述中提到的"很炫的效果"可能指的是...

    matlab实现模拟ps软件部分功能

    例如,`F = fft2(I)`可以对图像`I`进行二维傅里叶变换。 #### 2. 图像增强 图像增强技术可以改善图像质量,使其更适合人眼观察或进一步的计算机处理。 - **直方图拉升**:包括线性和非线性的直方图拉升。MATLAB的...

    14个华丽的javascript图表资源和插件

    10. **Raphaël**:Raphaël是一个轻量级库,利用二维图形API简化Web上的图形处理,可用于创建独特的图表和视觉效果。 11. **PlotKit**:PlotKit支持SVG和HTML Canvas,适用于Adobe SVG Viewer,可以创建复杂的图表...

Global site tag (gtag.js) - Google Analytics