`
李俊良
  • 浏览: 146070 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

YUI之节点获取

阅读更多

 

一、为什么要先讲DOM节点的获取?

理解这个首先我们要理解使用原生代码写Script脚本的方式,我们一般都是通过获取一个DOM对象,然后对这个节点进行操作,例如:

var dom = document.getElementById(“dom1”); dom.setAttribute(“width”,100);


 

 

 

 

但是在YUI里面已经封装了DOM,并且将DOM的操作方法全部重做了,如果同样实现上面的操作,YUI3里面你就需要写成这样

var dom=Y.one(“#dom1”);dom.setStyle(‘width’,100);


 

 

 

 

先就这么理解就行了。所以使用YUI前提需要学会获取YUI的DOM节点。

 

二、一个简单完整的利用YUI进行页面操作的例子

 

首先,在你的页面中插入YUI脚本

<script type="text/javascript" charset="utf-8"

        src="http://yui.yahooapis.com/3.1.1/build/yui/yui-min.js">

</script>

然后是代码

YUI().use('node', function(Y) {// 你会发现这里面有个‘node’,而且很多地方后面还有’node’,’event’,’json’之类的,这都是YUI的moudle。所有的节点操作相关的都基本上可以使用node来完成,具体什么时候需要在这里写什么以后再说 var node = Y.one('#foo');// 获取id为foo的节点对象 var html = 'I am "' + node.get('id') + '".'; node.set('innerHTML', html);// 设置节点node的innerHTML值。 });


 

简单的例子完成。

 

三、Y.one()方法介绍

Y.one()的意思是获取一个单独的节点

传入的参数可以是

 

css选择器的字符串,比如:

#foo   获取id为foo的对象

.foo   获取第一个class为foo的对象

#foo #test 获取#foo下面id为test的对象Y.one(“#foo #test”)

需要注意的是YUI3.1之后已经对firefox2不支持,对于class选择器在firefox下面会失效。

 

也可以是一个YUI节点,比如:

var node = Y.one('#foo'); var node2 = Y.one(node);//注意这里面就不是带引号的字符串了


 

 

 

也可以是一般的dom节点,比如:

var node = Y.one(document.getElementById(‘#foo’))


 

 

四、Y.all()方法

这个跟Y.one类似,只是说获取的是所有的对象,而不是一个,容易理解,其他和Y.one一样使用就行

 

五、Y.Node.one和Y.Node.all

学习YUI必须需要看YUI的api文档,你会发现,one和all方法不仅仅在yui这个大对象里面有,而且在Y.Node里面也有这两个方法,所以如果通过Y.one或者Y.all获取到了一个节点,那么这个节点也可以通过.one或者.all方法来获取他的其他下级子节点,我们可以这么理解document.getElementById()方法是在这个document文档里面来查找对应id的节点,如果我们已经找到了一个节点dom1,我们也可以使用dom1.getElementById()来获取在dom1整个节点树下面相对应id的节点对象,YUI也是一样,如果我们使用var node = Y.one('#foo');

获取到了节点node,那么我们就可以使用var node2 = node.one(‘#test’)来获取node下面id为test的节点对象。

 

0
0
分享到:
评论

相关推荐

    YUI3 实现overlay展开是tree,并且树节点可以拖拽-drag和drop

    在这个场景中,我们讨论的是如何使用`YUI3`实现一个特殊的组件——一个可展开的`Overlay`,它内部展示了一个树形结构(Tree),并且树节点支持拖放(Drag and Drop)功能。 首先,`Overlay`是`YUI3`中的一个基础...

    YUi文档(中文的哦)

    - 使用`YUI.one()`来获取单个DOM节点或使用选择器获取第一个匹配的元素。 - 支持CSS3选择器,但需加载额外的`selector-css3`模块。 - **属性操作**: - 可以通过`set`和`get`方法来操作Node实例的属性。这些方法...

    YUI 详细说明文档

    YAHOO工具库是YUI的核心组成部分之一,提供了多种实用功能来简化开发流程。 **1.1 YAHOO工具库提供的方法** - **namespace**:此方法用于创建全局命名空间,以便在项目中组织代码和避免命名冲突。例如,`YAHOO....

    经典的YUI 示例中文文档

    ### 经典的YUI 示例中文文档 #### YUI概述 YUI(Yahoo User Interface Library)是由雅虎公司开发的一款免费、开源的...YUI的强大之处在于它封装了很多复杂的DOM操作逻辑,使得开发者可以专注于业务逻辑的实现。

    YUI 入门教程YUI 入门教程YUI 入门教程

    `YAHOO.util.Dom.getElementsBy`则允许开发者基于特定的筛选条件和标签名在DOM树中查找元素,这对于批量处理DOM节点非常有用。 事件处理是JavaScript编程中的重要组成部分,YUI也对此进行了封装。例如,`event....

    Easyui Tree获取当前选择节点的所有顶级父节点

    在JavaScript和EasyUI框架中,处理树形控件(如Tree)时,有时我们需要获取当前选中节点的所有顶级父节点。这在数据层次结构中非常常见,例如在组织结构、文件系统或者菜单导航中。标题提到的问题就是这样一个场景,...

    YAHOO YUI3简单入门

    YUI3提供了强大的DOM操作API,包括选择元素、创建元素、修改属性、插入和删除节点等。这些方法与jQuery类似,但YUI3的设计更加面向对象,如`Node`和`Selector`模块,它们提供了更加高效和灵活的方式来处理DOM元素。 ...

    Yui_ext 学习笔记

    获取多个 DOM 节点时,如果不能通过 ID 来获取,可以使用其他选择器,如 CSS 类选择器、XPath 或者 jQuery 风格的选择器。Ext 提供了 `SelectQuery`(或 `Ext.query`)方法,用于根据 CSS 选择器查找元素集合。 ...

    学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)

    ### 学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点) #### 引言 在本篇文章中,我们将深入探讨如何使用YUI.Ext库中的TreePanel组件来实现异步获取树节点的功能。不同于同步加载方式,异步加载能够显著...

    YUI version 2.4.1

    YUI 2.4.1的发布意味着开发者可以获取到官方的维护和支持,确保问题能够及时解决。 ### 结论 YUI 2.4.1是Web开发者的重要工具,它集成了多种功能,简化了前端开发工作。无论你是初学者还是经验丰富的开发者,都...

    很好YUI好用的控件库

    3. **Node**:DOM操作模块,提供了便利的节点选择、操作和事件处理方法。 4. **Selector**:CSS选择器引擎,用于高效地选取DOM元素。 5. **Anim**:动画模块,用于创建各种动画效果。 6. **DD**:拖放模块,实现了...

    学习YUI.Ext 第六天–关于树TreePanel(Part 2异步获取节点)

    异步取节点的思路是这样的: 1、先定义一个初始化节点(也可以不定义,看个人需求) 2、yui-ext根据该节点id请求服务器,获得子节点各属性 3、循环 特点:可以在上一级目录中,在服务器端预先将该节点是否有子节点...

    学习YUI.Ext 第六天--关于树TreePanel(Part 1)

    这里使用了一个名为`get_nodes.asp`的服务器端脚本来获取JSON数据。JSON数据包含了树节点的信息,如文本、ID、是否为叶子节点等。例如: ```json [ {"text":"yui-ext.js","id":"/yui-ext.js","leaf":true,"cls":...

    layui-tree实现Ajax异步请求后动态添加节点的方法

    最近在弄一个产品分类管理,是一个树形菜单的形式,用的是layui-tree ,由于它并没有动态添加节点,所以只能自己刚了。 大概效果如图 体的实现是当我鼠标移入“长袖”这个分类时,出现三个icon (如图),按“增加”...

    easyui中combotree循环获取父节点至根节点并输出路径实现方法

    前台页面: &lt;pre name=code class=html&gt;&lt;td xss=removed colspan=7&gt; &lt;input id=fm_AEType class=easyui-combotree style=width: 240px /&gt; &lt;/td&gt;&lt;/pre&gt;  JavaScript页面(包括数据初始化): ...

    yahoo Tree组件

    如果需要深入了解,可以查阅该博客获取更多实践经验和技巧。 总之,Yahoo Tree组件作为YUI库的一个强大工具,为开发人员提供了构建和管理树形结构的强大功能。通过熟练掌握其使用方法,我们可以有效地提升Web应用的...

    Bubbling Library - YUI Extension-开源

    通过查看`bubbling.library.v2.1`这个压缩包,我们可以获取到该版本的具体实现,学习其设计理念和编码技巧,甚至可以根据自己的需求进行定制。 总之,JavaScript冒泡库(YUI Extension)是YUI库的一个强大补充,为...

    27款jQuery Tree 树形结构插件

    - YUI TreeView Control 支持通过XMLHttpRequest动态加载节点数据,允许自定义节点元数据。 - 它是免费的。 9. **Fonshen JS MenuTree** - 风声JS菜单树基于JavaScript、XHTML和CSS实现,支持无限级别和多种展开...

    YAHOO.util.Dom.rar_YAHOO.util_YAHOO.util.Dom.chm_yahoo.util同步

    YAHOO.util.Dom是YUI库的核心组件之一,它提供了一系列高效、易用的函数,帮助开发者更便捷地处理DOM元素,从而实现丰富的用户界面。本文将深入探讨YAHOO.util.Dom的特性和使用方法。 一、YAHOO.util.Dom的基本概念...

    EXT带右击菜单的树

    可以使用appendChild方法将子节点添加到父节点中。 ```javascript root.appendChild(c1); // 将c1作为根节点的子节点 ``` ##### 3. TreePanel配置 接下来创建TreePanel对象,并指定其渲染位置、根节点、动画效果等...

Global site tag (gtag.js) - Google Analytics