[zepto]源码学习
$() : zepto选择器,与jquery选择器类似,但是不支持jquery的拓展css支持(:first,:eq,:last...)
$("div")选择页面内的全部div元素,并以集合形式返回 $("<div />")创建一个新的div元素,可以为其添加属性,写法为$("<div />",{text:"hello",id:"divTest",css:{color:'#000'} })
$.contains(parent,node):检查父节点是否包含给定的dom节点,如果两者是相同的节点,则返回 false。
[数组&对象:核心方法]
$.each(collection,function(key,value){ //回调函数返回false时,each循环结束 }) : 以key-value形式遍历对象(数组、自定义对象等等)及其属性
$.extend(true/false,target,source):将source对象属性拷贝给target目标对象,第一个参数为true时为深拷贝,否则为浅拷贝
var target = {name:"lee"},source={name:"jack",age:30};
$.extend(true,target,source); //执行结束,target对象变为target{name:"jack",age:30}
$.fn 为zepto中的函数对象,可以在此基础上复写方法或添加自定义方法
$.grep(array,function(item){ //可以对item进行筛选,返回true或false }) 获取新数组,只包含返回true的项
$.map(ele,function(key,value){ //将返回的值以数组形式返回 }) 遍历数组并将每次遍历的回调函数返回值作为新数组
$.inArray(element,array,[fromIndex]); 返回array数组中element元素的下标 [fromIndex]可以指定开始位置,没有返回-1
$.isArray(element) , $.isFunction(ele) , $.isWindow(ele) 判定是否为数组、函数和浏览器窗口对象
$.type(obj) 返回obj的类型,与typeof不同的是可以返回其具体类型,返回值可能为:null undefined boolean number string function arraydate regexp object error。
[字符串string:核心方法]
$.trim(str) 将string首尾空白删除 类似于原生方法 var str = " 123abc ";str.trim();
$.parseJSON(str) 将json格式的字符串str转为json对象
[节点操作:方法]
add: 向前一个节点集合中添加add元素,切记不是向前标签中写入元素
$("li").add("p") : 页面内的p元素加入页面内的li元素集合中,将所有的li和p标签的颜色设置为红色
addClass 向匹配元素上添加指定的class类名,多个class可以用空格分隔
before / after(ele) : 在所选中元素的前 / 后 插入一个新元素ele,如果所选元素为集合,则在内部每个元素前/后都添加新元素
append / appendTo 节点插入函数(查到节点的内部尾部)
append用法: $("ul").append("<li>test</li>") 容器.append("待插入内容")
appendTo用法: $("<li>test</li>").append("ul") 待插入.append("容器")
attr(属性) :添加属性,多条属性可以用对象格式添加 $("div").attr({title:"标题",id:"testID"});
children([selector]) :选择子元素,返回值为集合;可以通过children()中的[selector]对子元素进行筛选
clone(无参数) : 复制当前集合中的所有元素
closet("selector") : 逐级筛选当前节点上级元素中最近的一个满足selector的元素,仅返回最近的一个
var input = $("input[type=test]");
input.closet("form"); //找到输入框的最近外层form
[zepto]源码学习的更多相关文章
- zepto源码学习-01-整体感知
在公司一直做移动端的项目,偶尔会做点PC端的东西,但基本上都是和移动端打交道. 移动端嘛必须上zepto,简单介绍下Zepto:它是一个面向高级浏览器的JavaScript框架的,实现JQuery的大 ...
- [阿里DIN] 从论文源码学习 之 embedding层如何自动更新
[阿里DIN] 从论文源码学习 之 embedding层如何自动更新 目录 [阿里DIN] 从论文源码学习 之 embedding层如何自动更新 0x00 摘要 0x01 DIN源码 1.1 问题 1 ...
- 【iScroll源码学习04】分离IScroll核心
前言 最近几天我们前前后后基本将iScroll源码学的七七八八了,文章中未涉及的各位就要自己去看了 1. [iScroll源码学习03]iScroll事件机制与滚动条的实现 2. [iScroll源码 ...
- 【iScroll源码学习00】模拟iScroll
前言 相信对移动端有了解的朋友对iScroll这个库非常熟悉吧,今天我们就来说下我们移动页面的iScroll化 iScroll是我们必学框架之一,我们这次先根据iScroll功能自己实现其功能,然后再 ...
- 【iScroll源码学习01】准备阶段 - 叶小钗
[iScroll源码学习01]准备阶段 - 叶小钗 时间 2013-12-29 18:41:00 博客园-原创精华区 原文 http://www.cnblogs.com/yexiaochai/p/3 ...
- 【 js 基础 】【 源码学习 】源码设计 (持续更新)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析第二部分:undersc ...
- 【 js 基础 】【 源码学习 】源码设计 (更新了backbone分析)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析 第二部分:unders ...
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...
- jQuery源码学习感想
还记得去年(2015)九月份的时候,作为一个大四的学生去参加美团霸面,结果被美团技术总监教育了一番,那次问了我很多jQuery源码的知识点,以前虽然喜欢研究框架,但水平还不足够来研究jQuery源码, ...
随机推荐
- 给iOS开发新手送点福利,简述UITextField的属性和用法
UITextField属性 0. enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...
- MongoDB 生态 – 可视化管理工具
工欲善其事,必先利其器,我们在使用数据库时,通常需要各种工具的支持来提高效率:很多新用户在刚接触 MongoDB 时,遇到的问题是『不知道有哪些现成的工具可以使用』,本系列文章将主要介绍 MongoD ...
- java程序控制KETTLE JOB的执行
有时候我们想在java程序中触发远程服务器上kettle job的执行,并且获得执行结果.kettle的carte提供了远程执行job和transfer的功能. 我使用的kettle是6.1版本,部署 ...
- uva-11044-水题
#include <iostream> #include<memory.h> #include<stdio.h> using namespace std; int ...
- 765. Couples Holding Hands
▶ n 对夫妻共 2n 个人随机坐成一排,“交换其中某两人的位置” 称为一次操作,求最少的操作此次数,使 n 对夫妻两人都相邻.初始座位为非负整数列 D1n-1,其中值为 2k 和 2k+1 的两个元 ...
- ruby gem install rails 错误解决
最近打算看ruby. 今天用命令gem install rails的时候碰到这样的错误提示: ERROR: Error installing XXXXXXXXXXX: The ...
- C# 中带有中国农历的日期选择控件
开源一款自己刚开始接触 C# 时开发的带有农历信息的日期选择控件,记得那时还是在2010年的寒假期间做的这个东西.刚开始接触 C# 时,使用WinForm来开发桌面程序,觉得简直是简单又迅速,由于 C ...
- 使用libcurl显示下载进度
使用libcurl显示下载进度 http://blog.csdn.net/zhouzhenhe2008/article/details/53876622
- Maven(七) maven 常用命令
转载于:http://blog.csdn.net/hynet/article/details/8664747 1. 用Maven 命令创建一个简单的 Maven 项目 在cmd中运行如下命令: mvn ...
- Git进阶--你可能不知道的很好用Git功能
一.刚提交的代码,发现需要微调一下 刚刚最新提交了一段代码,然后跟前端说,接口好了.过了2分钟,前端跟你说,哎,兄弟,那个金额能不能返回整数,不要小数点. 这个时候一般我们通常会修改一下之后,再提交一 ...