最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

修改或扩展jQuery原生方法的代码实例

来源:懂视网 责编:小采 时间:2020-11-27 21:31:49
文档

修改或扩展jQuery原生方法的代码实例

修改或扩展jQuery原生方法的代码实例:这篇文章主要介绍了修改或扩展jQuery原生方法的代码实例,本文用一个扩展jquery原生方法val的例子,讲解了如何对jquery原生方法修改或扩展,需要的朋友可以参考下修改或者扩展jQuery的方法代码实例:毫无疑问,jQuery是一款功能强大且使用方便的类库。从它的广泛
推荐度:
导读修改或扩展jQuery原生方法的代码实例:这篇文章主要介绍了修改或扩展jQuery原生方法的代码实例,本文用一个扩展jquery原生方法val的例子,讲解了如何对jquery原生方法修改或扩展,需要的朋友可以参考下修改或者扩展jQuery的方法代码实例:毫无疑问,jQuery是一款功能强大且使用方便的类库。从它的广泛

这篇文章主要介绍了修改或扩展jQuery原生方法的代码实例,本文用一个扩展jquery原生方法val的例子,讲解了如何对jquery原生方法修改或扩展,需要的朋友可以参考下

修改或者扩展jQuery的方法代码实例:

毫无疑问,jQuery是一款功能强大且使用方便的类库。

从它的广泛应用可以证实上面的观点,但是正所谓人无完人,金无足赤,jQuery也是如此,并非在任何时候或者场合都能够完美的完成我们的任务,所以有事以后就需要对jQuery原有的方法进行扩展修改,但是最好方法仍然具有原来的功能。

代码实例:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<title>Gxl网</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$.prototype.val = function (base) {
 return function () {
 var s = this;
 var a = "data-property";
 var p = s.attr(a);
 var isset = arguments.length > 0;
 var v = isset ? arguments[0] : null;
 
 if (isset&&typeof(base)=="function") { 
 base.call(s, v); 
 } 
 else { 
 v = base.call(s); 
 }
 if (p) {
 if (isset) { 
 s.attr(p, v); 
 return s 
 }
 else { 
 return s.attr(p) 
 }
 }
 else {
 if (!s.is(":input")){ 
 if (isset) { 
 s.text(v); return s; 
 } 
 else { 
 return s.text(); 
 } 
 }
 else { 
 return isset ? s : v; 
 }
 }
 }
}($.prototype.val);
$(document).ready(function(){
 $("#show").html($("#lbl").val()+"<br>"+$("#txt").val());
})
</script>
</head>
<body>
<span id="lbl">Gxl网</span> 
<input type="text" id="txt" value="softwhy.com" />
<input type="checkbox" value="antzone" />
<p id="show"></p>
</body>
</html>

上面的代码毫无疑问是对jQuery的val()方法做的扩展,下面介绍一下它的实现过程。

代码注释:

1、$.prototype.val = function (base) {}(($.prototype.val),修改jQuery原来的val()方法,这里采用闭包的方式,传递的参数是原来的val()方法,以保持原来val()方法的功能。

2、return function (){},返回一个函数对象。

3、var s = this,将this的指向引用赋值给变量s,这里的this是指向jQuery对象实例的。

4、var a = "data-property",声明一个变量并赋值,关于它的更多内容面会介绍。

5、var p = s.attr(a),其实data-property就是标签上的一个自定义属性,那么这段代码就是获取此属性值。

6、var isset = arguments.length > 0,判断修改后的val()方法是否传递了参数。

7、var v = isset ? arguments[0] : null,如果传递参数,那么久获取第一个参数,其他的忽略。

8、if (isset&&typeof(base)=="function") { base.call(s, v);},如果传递了参数,且base参数是一个函数,那么就调用base函数设置元素

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

修改或扩展jQuery原生方法的代码实例

修改或扩展jQuery原生方法的代码实例:这篇文章主要介绍了修改或扩展jQuery原生方法的代码实例,本文用一个扩展jquery原生方法val的例子,讲解了如何对jquery原生方法修改或扩展,需要的朋友可以参考下修改或者扩展jQuery的方法代码实例:毫无疑问,jQuery是一款功能强大且使用方便的类库。从它的广泛
推荐度:
标签: 方法 代码 示例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top