首页
学习
活动
专区
圈层
工具
发布

jQuery源码研究:jQuery原型对象上的属性方法(上)

,jQuery对象作为构造函数,在其原型上定义了一些属性和方法,同时其原型也被指向jQuery对象的属性fn上面。...至于定义的方法,下面一个个来看。首先需要明确,这些方法都是jQuery实例对象的方法;其次对于js中call的作用要有深刻的理解,才不会看晕。...toArray方法:返回一个包含jQuery对象集合中的所有DOM元素的数组。这个方法不接收任何参数。所有匹配的DOM节点都会包含在一个标准的数组中。...通过this把老的jQuery原型对象挂载到新建的ret对象的prevObject属性上云,这可以看作是jQuery对象的一个引用吧 7 ret.prevObject = this;...这个方法其实作用就是把元素集合添加到一个新的对象中,并且这个对象还具有jQuery对象的引用,所以也就是具有jQuery对象的所有方法和属性,链式调用起来妥妥的呀。

1.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    强大的jQuery验证插件:jquery.validate.js+jquery.validate.unobtrusive.js

    以前接触过jQuery.Validate客户端验证插件,当时觉得不好用并且不太符合中文化开发习惯,后来在项目中选择了国人写的jQuery formValidator(作者QQ:69353693,群号:74106519...),这几天在看.Net MVC4的时候,看到微软官方出的jquery.validate.unobtrusive.js,再看看其MVC4产生的客户端代码,我被震撼了,可读性变强了,编程的复杂度降低了,看来不能老守旧...如果我们做基于HTML5的开发,其实不用.NET MVC4,也可以直接用其jquery.validate.unobtrusive.js,这样我们的Html和客户端的验证工作就会变得很简单。.../Unobtrusive-JavaScript-18]http://channel9.msdn.com/Series/Javascript-Fundamentals-Development-for-Absolute-Beginners.../Unobtrusive-JavaScript-18[/URL]

    2.8K30

    ASP.NET MVC的客户端验证:jQuery的验证

    ASP.MVC 2.0及其之前的版本采用ASP.NET Ajax进行客户端验证,在ASP.NET MVC 3.0中,jQuery验证框架被引入是我们可以采用Unobtrusive JavaScript的方式进行客户端验证...Unobtrusive JavaScript在jQuery的验证中得到了很好的体现,接下来我们就简单地介绍一下使用jQuery进行验证的编程方式。...二、以内联的方式指定验证规则 jQuery的验证实际上是对存在于表单的输入元素进行验证,它支持一种内联(Inline)的编程方式是我们可以直接将验证的规则直接编写在被验证输入HTML元素的class(表示...js文件包含进行,一个是jQuery的核心文件jquery-1.6.2.js,另一个是实现验证的jquery.validate.js。...ASP.NET MVC的客户端验证:jQuery的验证 ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现 ASP.NET MVC的客户端验证:自定义验证

    8.7K90

    jquery.validate清除表单的验证结果

    文章目录 发现bug: 分析bug: 解决bug: 发现bug: jquery.validate无法清除同表单的上次验证结果,如下: 分析bug: 查阅官方文档之后,观察validate的返回类型...名称 返回类型 描述 validate(options) Validator 验证所选的Form Validator 对象有很多方法可以用来引发校验程序或者改变 form 的内容,下面列出几个常用的方法...名称 返回类型 描述 form() Boolean 验证form返回成功还是失败 element(element) Boolean 验证单个元素是成功还是失败 resetForm() undefined...把前面验证的Form恢复到验证前的状态 showErrors(errors) undefined 显示特定的错误信息 我们可以利用上面的resetForm()函数清空上次表单的验证结果 解决bug:...messages:{ snoAllocation:{ required:'请选择要分配的学生

    1.7K20

    jQuery最方便的前端验证方式2种(非空验证与比较验证)

    jQuery最方便的前端验证方式2种(非空验证与比较验证) 目录 jQuery最方便的前端验证方式2种(非空验证与比较验证) 使用的jQuery地址: 验证需求: 1、非空验证 2、比较验证 jQuery...、检测数字、判断是否为数字、只能输入数字 只能输入2位小数的浮点数 只能输入英文字符和数字 ---- 使用的jQuery地址: https://code.jquery.com/jquery-3.4.1...验证需求: 1、非空验证 当用户没有输入用户名就提交的时候【阻止提交】并提示相应文字。..." /> javascript"> $(function() { $("form").bind...jQuery验证列表 字符串长度限制、判断字符长度 、js 限制输入、限制不能输入、textarea 长度限制 源码 function test() { if

    2.5K40

    ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现

    在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的。...毫无疑问,服务端验证和客户端验证必须采用相同的验证规则,那么通过应用ValidationAttribute特性定义的验证规则也同样体现在基于客户端验证规则的HTML上。...对于客户端验证,ASP.NET MVC对jQuery的验证插件进行了扩展,实现了另一种不同的内联方式是我们 可以将验证规则定义在被验证输入元素的属性中。...为了让客户端和服务端采用相同的验证规则,应用在Model类型某个属性上的ValidationAttribute特性最终会体现在目标属性对应的HTML元素上。...ASP.NET MVC的客户端验证:jQuery的验证 ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现 ASP.NET MVC的客户端验证:自定义验证

    7.8K70

    jQuery源码研究:jQuery原型对象上的属性方法(下)

    接昨天的jQuery原型属性方法部分。 each()方法:为每个匹配的元素集合执行回调函数,是一个jQuery版的遍历方法。...构造函数的实例对象,凡是jQuery对象原型上的方法,在实例对象中都可以被访问到的。...至于this.pushStack()方法中的参数,可以明显看到它是jQuery构造对象上定义了一个方法map,该方法内部具体实现尚未可知,因为还没读到那部分,但看参数传递可以大概知道,将新创建的元素集合和对新集合进行处理的回调函数传入进去了...( 0 ); }, last: function() { return this.eq( -1 ); }, } 都是调用的jQuery原型对象上的eq()方法...,能够在同一个链条上对当前筛选状态进行回退初始状态后再继续进行其他筛选操作。

    1.1K50

    jQuery源码研究:jQuery对象及原型上的extend()方法

    现在看到jQuery的227行,本篇读jQ的继承方法jQuery.extend()。 官方作用解释是将一个或多个对象合并到目标对象中。...return target; } 在jQuery对象上添加extend属性,并且在jQuery.fn上面也添加同样的extend属性,还记得前面jQuery.fn = jQuery.prototype...jQuery对象的fn属性指针就指向jQuery对象的原型,并且因为对象都是引用类型的,所以上例代码的操作意思就是:在jQuery对象和它的原型对象上都添加extend方法,该方法最后返回的是一个合并处理后的对象...在jQuery对象上绑定的extend()和jQuery.fn上绑定的extend()方法其实是不同的,前者是类方法,是静态方法,调用方法写作$.extend();后者是实例方法,是成员方法,调用方法写作...jQuery.fn即原型对象上添加extend()方法的代码解释,再复习下:jQuery对象和其原型上都具有extend()方法,区别在于一个是类方法,一个是成员方法,在使用场景上请注意。

    1.2K30

    基于jQuery或Zepto的图片延迟加载插件

    我们主题之前也都采用了图片的懒加载形式,但都不完美,部分主题还采用了占位图片来控制懒加载,今天换一种js图片懒加载,它原理就是将页面内所有需要加载的图片全部换成一张默认的图片(一般尺寸很小),只有图片在可视区域才去请求加载...lazyload插件网上能搜出很多,常见的是: 1、jquery.lazyload.js: 依赖jQuery JavaScript /*!...或者Zepto JavaScript /*!...img class="lazy" src="loading.png" data-original="img/example.jpg"> $(".lazy").lazyload(); 3、配置 缺省: JavaScript...img/placeholder.png' // todo : 将某些属性用global来配置,而不是每次在$(selector).lazyload({})内配置}YAML复制全屏 } 示例: JavaScript

    3.7K20

    angularJS之站在jQuery的肩膀上

    jQuery:用更少的代码,实现更强悍的功能 托互联网日新月异发展的福,浏览器变成了人们接入互联网的入口,而JavaScript 这个曾经的小语种,终于成功地站到了舞台的中央,唤起了开发者的兴趣。...浏览器里原生的JavaScript有点像汇编语言,不同的浏览器就像不同的CPU架构, 汇编语言各有千秋,这让前端开发者很恼火。聪明人很快发现了这个痛点,于是, 抹平浏览器差异的jQuery库出现了。...jQuery由一小撮对浏览器极其熟稔的极客负责抹平不同浏览器的差异,其他开发 者只需要基于jQuery进行开发,可以更好地关注业务实现,而不是把时间花在 适配不同的浏览器上。...开发者需要的API都挂接在这个对象上。 它其实是一个类工厂,负责将指定的DOM对象转化为jquery对象。...jQuery是一个库,库总是被动的,就像工具,应用的开发逻辑是你的,在 某一点上需要用一下工具,就用好了。

    1.1K10

    jQuery原理(原型上的属性、方法)

    jQuery原型上的属性 kjQuery.prototype = { constructor: kjQuery, init: function (selector) {}, /.../ 版本号 jquery: "1.1.0", // 实例默认的选择器取值 selector: "", // 实例默认的长度 length: 0, // 给实例添加新元素...: [].splice, }; 关于三个方法(push,sort,splice)以push为例: 通过[].push找到数组的push方法 但是对象的push方法由对象调用,那么this就指向了对象(jQuery...) 所以也就相当于[].push.apply(this)将元素添加到对象身上 jQuery原型上的方法 toArray 把实例转换为数组返回 toArray: function () { return...,是jQuery类型的实例对象 first: function () { return this.eq(0); }, last:获取实例中的最后一个元素,是jQuery类型的实例对象 last:

    1.2K20

    JavaScript、Jquery获取屏幕的宽度和高度

    在日常的项目中经常需要获取屏幕的宽度或者高度,简单记录一下: Javascript方法获取: document.body.clientWidth //网页可见区域宽 document.body.clientHeight... //网页可见区域高 document.body.offsetWidth //网页可见区域宽(包括边线的宽) document.body.offsetHeight //网页可见区域高(包括边线的高) document.body.scrollWidth... //网页被卷去的左 window.screenTop //网页正文部分上 window.screenLeft //网页正文部分左 window.screen.height //屏幕分辨率的高 window.screen.width... //屏幕分辨率的宽 window.screen.availHeight //屏幕可用工作区高度 window.screen.availWidth //屏幕可用工作区宽度 JQuery方法获取: ($(...;//浏览器当前窗口文档body的高度 ($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin

    6.6K00
    领券