`
zhangyaochun
  • 浏览: 2596496 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于获取子节点中的first|last等api探究

阅读更多

写于2012-4-2 清明假期的第一天 | @****

 

前言

 

      本文探究的是tangram中处理父节点寻找子节点中第一个(first)元素 | 最后一个(last)元素,以及子节点中的前一个(prev)元素 | 后一个(next)元素。

 

正文

 

在tangram的api设计中,抽离了一个接口式的api。

 

 

/*
*_matchNode 分类出来的一个公用的api---从目标元素指定的方向去找对应元素*
*@function*
*@param {String} direction -- 遍历的方向 previousSibling | nextSibling*
*@param {String} start -- 遍历开始的位置 firstChild | lastChild | previousSibling | nextSibling*
*/
ZYC.dom._matchNode = function(element,direction,start){
    element = ZYC.dom.g(element);
	for(var node = element[start];node;node=node[direction]){
	   if(node.nodeType == 1){
	      return node;
	   }
	}
};

 

1、first -- 获取子元素中的第一个元素节点

 

    思路其实就是循环从元素的firstChild开始, 遍历的方向是nextSibling

 

 

 

ZYC.dom.first = function(element){
    return ZYC.dom._matchNode(element,'nextSibling','firstChild');
};

 

2、last -- 获取子元素中的最后一个元素节点

 

    思路其实就是循环从元素的lastChild开始, 遍历的方向是previousSibling

 

 

ZYC.dom.last = function(element){
    return ZYC.dom._matchNode(element,'previousSibling','lastChild');
};

 

3、prev -- 获取前一个元素节点

 

   思路其实就是循环从该元素的previousSibling开始, 遍历的方向是previousSibling

 

 

ZYC.dom.prev = function(element){
    return ZYC.dom._matchNode(element,'previousSibling','previousSibling');
};

 

4、next -- 获取后一个元素节点

 

  思路其实就是循环从该元素的nextSibling开始, 遍历的方向是nextSibling

 

 

ZYC.dom.next = function(element){
    return ZYC.dom._matchNode(element,'nextSibling','nextSibling');
};
2
0
分享到:
评论

相关推荐

    Dome-ASP.NET CORE 6 webapi 使用 EF DBFirst 配合 sql server

    ASP.NET Core 6 WebAPI与Entity Framework (EF) DBFirst结合使用是开发高效、数据库驱动的Web服务的常见方法。这个技术栈允许开发者利用SQL Server的强大功能,同时借助EF简化数据访问层的实现。以下是对这个主题的...

    有关于oracle数据库的sql优化

    我们一起来看一个例子,假定有一个职工表(employee),对于一个职工的姓和名分成两列存放(FIRST_NAME和LAST_NAME),现在要查询一个叫比尔.克林顿(Bill Cliton)的职工。  下面是一个采用联接查询的SQL语句, ...

    Oracle 高级查询之分析函数部分--first_value,last_value

    本文将深入探讨分析函数中的`FIRST_VALUE()`和`LAST_VALUE()`函数,这两个函数在处理分组数据时尤其有用,能够帮助我们获取每个分组中的第一个或最后一个值,基于特定的排序规则。 ### Oracle分析函数:`FIRST_...

    PyPI 官网下载 | mailerlite_api_python-0.4.0-py3-none-any.whl

    使用这个库,开发者可以构建自动化的工作流程,例如自动发送欢迎邮件、处理订阅者的增删改查,或者获取关于邮件打开率、点击率等的统计信息。 在实际应用中,要使用这个库,首先需要在MailerLite上创建一个账户并...

    编译原理 first集和follow集 first集和last集

    在编译器设计中,first集、follow集和last集是构建词法分析器和语法分析器的关键概念,它们在自顶向下解析(LL解析)和自底向上解析(LR解析)中起到至关重要的作用。 **First集**: First集是文法符号的集合,包含...

    PyPI 官网下载 | mollie-api-python-2.1.2.tar.gz

    Mollie是一家欧洲知名的在线支付解决方案提供商,其API允许开发者轻松地在他们的应用程序或网站中整合多种支付方式,如信用卡、iDEAL、Bancontact、Sofort、Klarna等。Mollie-api-python是这个服务的Python客户端库...

    jquery实现递归tr子节点

    本篇文章将深入探讨如何使用 jQuery 实现递归地获取表格 tr 子节点的方法。 首先,我们需要了解 HTML 中的 `<table>`、`<tr>` 和 `<td>` 标签。`<table>` 是表格的容器,`<tr>` 代表表格行,而 `<td>` 用于定义...

    读写xml所有节点个人小结和读取xml节点的数据总结

    本文详细介绍了如何使用C#来读取XML文件中的所有节点以及如何进行增删改查等基本操作。这些技术对于日常开发工作非常有用,可以帮助开发者高效地处理各种XML文件。掌握了这些基本技能后,还可以进一步学习更高级的...

    vscode 中 webapi Ef code first 的例子

    【标题】:“vscode 中 WebAPI Ef Core Code First 的实现示例” 在现代软件开发中,Visual Studio Code(简称vscode)作为一个轻量级且功能强大的代码编辑器,被广泛用于各种编程语言的开发,包括.NET框架下的Web...

    jQuery获取节点和子节点文本的方法

    当`.text()`用于获取内容时,它会将选定元素下的所有文本节点以及子元素中的文本节点内容合并,并返回合并后的字符串。 举个例子,假设我们有如下的HTML代码片段: ```html <div id="text_test">test text ***" ...

    2.API first framework for Python dameng.pdf

    在本节中,我们将探讨 API First 框架在 Python 中的应用,特别是 Dameng 框架的使用。API First 是一种软件开发方法论,强调 API 的设计和实现是在开发周期的早期阶段完成的,以确保 API 的一致性和可重用性。 ...

    FatFs的API函数中文介绍

    FatFs是一个专门针对小型嵌入式系统设计的通用FAT文件...FatFs模块通过提供丰富的API函数,为嵌入式系统中的文件操作提供了极大的灵活性和便利性,使得开发者可以轻松地在嵌入式设备上实现文件的读写、管理等复杂功能。

    重庆全市JSONAPI

    8. **分页(Pagination)**:对于大数据集,JSONAPI提供几种分页策略,如`links`中的`first`、`last`、`prev`和`next`链接。 9. **过滤(Filtering)、排序(Sorting)和包含(Inclusion)**:这些是JSONAPI提供的...

    34.Find First and Last Position of Element in Sorted Array在排序数组中寻找元素的第一和最后一个位置【LeetCode单题讲解系列】

    34.Find_First_and_Last_Position_of_Element_in_Sorted_Array在排序数组中

    C++ 获取主板CPU,硬盘等代码

    在C++中,可以使用`CreateToolhelp32Snapshot`和`Process32First`等函数遍历进程,找到对应的进程ID,然后通过`OpenProcess`和`ReadProcessMemory`来获取CPU信息。 2. **硬盘信息获取**: 硬盘信息如序列号通常不...

    Hibernate中文API大全

    人员(Person)表中将包括pid, birthday, initial, first和 last等字段。 就像所有的值类型一样, 组件不支持共享引用。 换句话说,两个人可能重名,但是两个Person对象应该包含两个独立的Name对象,只不过这两个Name...

    .net core api +codefirst+mysql

    《.NET Core API + CodeFirst + MySQL:构建高效稳定的Web服务》 在现代软件开发中,.NET Core已经成为跨平台应用程序开发的首选框架,而MySQL则以其高效、稳定和开源的特点,成为数据库管理系统的热门选择。本文将...

    FirstApi

    通过深入学习和实践"FirstApi"项目,开发者不仅可以掌握JavaScript在API开发中的应用,还能了解RESTful设计原则、Node.js环境下的Web服务搭建,以及相关的安全和测试策略,这些都是现代Web开发中的重要技能。

    windows 查询占用网络端口的进程PID以及获取进程信息(API开发)

    开发环境window10+VS2012(也...功能就是不需要通过繁琐的命令查看被占用的端口,可通过调用windows API 代码实现,主要API :GetExtendedTcpTable、GetExtendedUdpTable、CreateToolhelp32Snapshot、Module32First等实现

    52.获取Employees中的first_name.md

    52.获取Employees中的first_name.md

Global site tag (gtag.js) - Google Analytics