[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源码, ...
随机推荐
- 2018 Multi-University Training Contest 6-oval-and-rectangle(hdu 6362)-题解
一.题意 求椭圆内接矩形周长的期望. 二.推导过程 已知$c$,容易得出矩形弦长$d=4a\sqrt{1-\frac{c^2}{b^2}}$ 接下来,矩形周长$p=4c+d=4c+4a\sqrt{1- ...
- Getting Started(入门)
欢迎阅读专门针对android开发者的培训课程,在这一系列的课程中,描述了如何通过我们的示例代码来完成特定的任务和功能,这些代码可以灵活地应用到你的应用程序中. 课程被分成了几部分, 第一部分,入门, ...
- Git同时提交到多个远程仓库
使用git同时提交到多个远程库的操作方式为: 比如我需要你将同一份代码提交到如下的两个库中: https://gitee.com/FelixBinCloud/recruit.git https://g ...
- Linux下安装MATLAB
Why do I see "Preparing installation files ... Installing ... Finished..." in the terminal ...
- Rhythmk 学习 Hibernate 04 - Hibernate 辅助工具 之 JBoos Tool
1.安装JBoos Tool Help -> Install new Software 然后添加: http://download.jboss.org/jbosstools/updates/de ...
- A configuration error occurred during startup.Please verify the preference filed with the prompt:Connect to VM
1. 检查JDK,及Tomcat是否正确可用.2. Tomcat,myeclipse使用的是不是同一个jdk.3. 检查系统的防火墙是不是阻止了MyEclipse主程序访问网络.
- JVM知识点精华汇总
本文是学习了<深入理解Java虚拟机>之后的总结,主要内容都来自于书中,也有作者的一些理解.一是为了梳理知识点,归纳总结,二是为了分享交流,如有错误之处还望指出.(本文以jdk1.7的规范 ...
- linux img文件 分区挂载
首先是将制作的img文件比如hd5.img和loop设备建立联系. losetup /dev/loop0 hd5.img 然后用fdisk分区:fdisk /dev/loop0 mkfs.ext4 / ...
- rook
https://github.com/rook/rook https://rook.github.io/docs/rook/master/ Rook是在云本地环境中运行的分布式存储系统的开源编排器. ...
- java基础三 [深入多态,接口和多态](阅读Head First Java记录)
抽象类和抽象方法 1.抽象类的声明方法,在前面加上抽象类的关键词abstract abstract class canine extends animal{ public void roam ...