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
分享到:
相关推荐
这导致了一系列JavaScript框架的诞生,其中包括Prototype、YUI、jQuery、MooTools、Bindows以及国内的JSVM框架等。这些框架不仅提升了前端开发的效率,还改善了用户体验。 **jQuery**作为一款杰出的JavaScript库,...
#### 二、使用 Assetic 进行资产管理 ##### 2.1 如何使用 Assetic 进行资产管理 Assetic 是 Symfony 的一个组件,用于处理和管理前端资源,如 CSS、JavaScript 文件等。它支持多种功能,包括压缩、合并文件以及处理...
UI Library (YUI)**:提供了YUI Reset CSS和YUI Fonts CSS来帮助开发者解决跨浏览器兼容性问题。 通过以上内容可以看出,“Computer Science E-75”课程覆盖了构建动态网站所需的各种关键技术和实践知识,旨在培养...
- **项目技术**:Struts2 + Spring2.5 + Hibernate3 + POI + YUI + OGNL + Flex + 3D + PDA(C++) - **生产环境**:Linux + Tomcat6 - **项目描述**:该项目旨在实现物流信息的代码化、数据库化,提高物流信息处理的...
为了理解为什么减少HTTP请求数能够提升Web性能,首先我们需要了解HTTP请求的基本构成。以下是一个典型的HTTP请求头示例: ``` Host: www.google.com.hk User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-...
上传控件会创建一个用户可交互的界面,用户可以通过这个界面选择文件,然后控件将文件数据转换成二进制流,通过Ajax发送到服务器,从而避免了传统表单提交导致的页面刷新。 在描述中提到的"很炫的效果"可能指的是...
例如,`F = fft2(I)`可以对图像`I`进行二维傅里叶变换。 #### 2. 图像增强 图像增强技术可以改善图像质量,使其更适合人眼观察或进一步的计算机处理。 - **直方图拉升**:包括线性和非线性的直方图拉升。MATLAB的...
10. **Raphaël**:Raphaël是一个轻量级库,利用二维图形API简化Web上的图形处理,可用于创建独特的图表和视觉效果。 11. **PlotKit**:PlotKit支持SVG和HTML Canvas,适用于Adobe SVG Viewer,可以创建复杂的图表...
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...