[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
array
date
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源码, ...
随机推荐
- 用shp制作geoJson格式地图数据(shp convert to geoJson)
本文紧接前文,简单说明利用shp数据制作Echarts支持的geoJson格式的地图数据.本文以北京市通州区各镇的shp数据为例进行说明. 软件环境: ArcGIS 10.2 (ArcGIS 10.2 ...
- 利用MessageFormat实现短信模板的匹配
其实没什么技术含量,因为老是想不起来,所以在此文做下记录. 通常我们的应用系统中都会有很多短信的发送,或者是信息邮件等的推送,而这些信息却有着相同的共性,比如只是用户名换了下. 像下面这条,除了红色字 ...
- MySQL查询结果写入到文件总结
Mysql查询结果导出/输出/写入到文件 方法一:直接执行命令: mysql> select count(1) from table into outfile '/tmp/test.txt'; ...
- leetcode763
public class Solution { public IList<int> PartitionLabels(string S) { var dic = new Dictionary ...
- 05-SSH综合案例:环境搭建之配置文件的引入
1.3 第三步导入相应配置文件 Struts框架中: * web.xml * 核心过滤器: <filter> <filter-name>struts2</filter-n ...
- SystemTap 内核调试
一.简介 Systemtap是一个Linux下的全新的调式.诊断和性能测量工具,是我目前所知的最强大的内核调试工具. 参考: http://m.blog.csdn.net/blog/hnllei/75 ...
- git忽略某个文件
data/config/config.ini.php
- [Training Video - 7] [Database connection] Part 1
try, catch and finally in db connection Forming groovy connection string and obtaining Connection Ob ...
- HBase 系列(二)安装部署
HBase 系列(二)安装部署 本节以 Hadoop-2.7.6,HBase-1.4.5 为例安装 HBase 环境.HBase 也有三种模式:本地模式.伪分布模式.分布模式. 一.环境准备 (1) ...
- 查找mysql的my.cnf位置
1. which mysqld /user/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'