jQuery $.extend()用法總結(jié)
更新時間:2014年06月15日 09:49:02 投稿:whsnow
這篇文章主要介紹了jQuery $.extend()用法,需要的朋友可以參考下
jQuery為開發(fā)插件提拱了兩個方法,分別是:
jQuery.fn.extend(object);
jQuery.extend(object);
jQuery.extend(object);為擴展jQuery類本身.為類添加新的方法。
jQuery.fn.extend(object);給jQuery對象添加方法。這個應(yīng)該很好理解吧。舉個例子。
<span style="font-size:18px;"><html>
<head>
<title></title>
</head>
<body>
<h3 class="ye">new soul</h3>
<h3 class="ye">new soul</h3>
<h3 class="ye">new soul</h3>
<h3 class="ye">new soul</h3>
<script type="text/javascript" src="jquery.2.0.3.js"></script>
<script type="text/javascript">
jQuery.fn.myPlugin = function(options) {
$options = $.extend( {
html: "no messages",
css: {
"color": "red",
"font-size":"14px"
}},
options);
return $(this).css({
"color": $options.css.color,
}).html($options.html);
}
$('.ye').myPlugin({html:"So easy,yes?",css:{"color":"green","font-size":"20px"}});
</script>
</body>
</html>
</span>
好的,上面你也看到了一點點$.extend()的用法。
1.合并多個對象。
這里使用的就是$.extend()的嵌套多個對象的功能。
所謂嵌套多個對象,有點類似于數(shù)組的合并的操作。
但是這里是對象。舉例說明。
<span style="font-size:18px;">//用法: jQuery.extend(obj1,obj2,obj3,..)
var Css1={size: "10px",style: "oblique"}
var Css2={size: "12px",style: "oblique",weight: "bolder"}
$.jQuery.extend(Css1,Css2)
//結(jié)果:Css1的size屬性被覆蓋,而且繼承了Css2的weight屬性
// Css1 = {size: "12px",style: "oblique",weight: "bolder"}
</span>
2.深度嵌套對象。
<span style="font-size:18px;"> jQuery.extend(
{ name: “John”, location: { city: “Boston” } },
{ last: “Resig”, location: { state: “MA” } }
);
// 結(jié)果:
// => { name: “John”, last: “Resig”, location: { state: “MA” } }
// 新的更深入的 .extend()
jQuery.extend( true,
{ name: “John”, location: { city: “Boston” } },
{ last: “Resig”, location: { state: “MA” } }
);
// 結(jié)果
// => { name: “John”, last: “Resig”,
// location: { city: “Boston”, state: “MA” } }
</span>
3.可以給jQuery添加靜態(tài)方法。
<span style="font-size:18px;"><html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="jquery.2.0.3.js"></script>
<script type="text/javascript">
$.extend({
add:function(a,b){return a+b;},
minus:function(a,b){return a-b},
multiply:function(a,b){return a*b;},
divide:function(a,b){return Math.floor(a/b);}
});
var sum = $.add(3,5)+$.minus(3,5)+$.multiply(3,5)+$.divide(5,7);
console.log(sum);
</script>
</body>
</html></span>
jQuery.fn.extend(object);
jQuery.extend(object);
jQuery.extend(object);為擴展jQuery類本身.為類添加新的方法。
jQuery.fn.extend(object);給jQuery對象添加方法。這個應(yīng)該很好理解吧。舉個例子。
復(fù)制代碼 代碼如下:
<span style="font-size:18px;"><html>
<head>
<title></title>
</head>
<body>
<h3 class="ye">new soul</h3>
<h3 class="ye">new soul</h3>
<h3 class="ye">new soul</h3>
<h3 class="ye">new soul</h3>
<script type="text/javascript" src="jquery.2.0.3.js"></script>
<script type="text/javascript">
jQuery.fn.myPlugin = function(options) {
$options = $.extend( {
html: "no messages",
css: {
"color": "red",
"font-size":"14px"
}},
options);
return $(this).css({
"color": $options.css.color,
}).html($options.html);
}
$('.ye').myPlugin({html:"So easy,yes?",css:{"color":"green","font-size":"20px"}});
</script>
</body>
</html>
</span>
好的,上面你也看到了一點點$.extend()的用法。
1.合并多個對象。
這里使用的就是$.extend()的嵌套多個對象的功能。
所謂嵌套多個對象,有點類似于數(shù)組的合并的操作。
但是這里是對象。舉例說明。
復(fù)制代碼 代碼如下:
<span style="font-size:18px;">//用法: jQuery.extend(obj1,obj2,obj3,..)
var Css1={size: "10px",style: "oblique"}
var Css2={size: "12px",style: "oblique",weight: "bolder"}
$.jQuery.extend(Css1,Css2)
//結(jié)果:Css1的size屬性被覆蓋,而且繼承了Css2的weight屬性
// Css1 = {size: "12px",style: "oblique",weight: "bolder"}
</span>
2.深度嵌套對象。
復(fù)制代碼 代碼如下:
<span style="font-size:18px;"> jQuery.extend(
{ name: “John”, location: { city: “Boston” } },
{ last: “Resig”, location: { state: “MA” } }
);
// 結(jié)果:
// => { name: “John”, last: “Resig”, location: { state: “MA” } }
// 新的更深入的 .extend()
jQuery.extend( true,
{ name: “John”, location: { city: “Boston” } },
{ last: “Resig”, location: { state: “MA” } }
);
// 結(jié)果
// => { name: “John”, last: “Resig”,
// location: { city: “Boston”, state: “MA” } }
</span>
3.可以給jQuery添加靜態(tài)方法。
復(fù)制代碼 代碼如下:
<span style="font-size:18px;"><html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="jquery.2.0.3.js"></script>
<script type="text/javascript">
$.extend({
add:function(a,b){return a+b;},
minus:function(a,b){return a-b},
multiply:function(a,b){return a*b;},
divide:function(a,b){return Math.floor(a/b);}
});
var sum = $.add(3,5)+$.minus(3,5)+$.multiply(3,5)+$.divide(5,7);
console.log(sum);
</script>
</body>
</html></span>
相關(guān)文章
jquery中attr、prop、data區(qū)別與用法分析
這篇文章主要介紹了jquery中attr、prop、data區(qū)別與用法,結(jié)合實例形式分析了jQuery中attr、prop、data的區(qū)別、功能、使用方法及相關(guān)注意事項,需要的朋友可以參考下2019-09-09jQuery+ajax實現(xiàn)鼠標單擊修改內(nèi)容的方法
這篇文章主要介紹了jQuery+ajax實現(xiàn)鼠標單擊修改內(nèi)容的方法,需要的朋友可以參考下2014-06-06jQuery 選擇同時包含兩個class的元素的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨Query 選擇同時包含兩個class的元素的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06Ajax異步獲取html數(shù)據(jù)中包含js方法無效的解決方法
本文主要介紹了Ajax異步獲取html數(shù)據(jù)中包含js方法無效的解決方法,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02firefox下jquery iframe刷新頁面提示會導(dǎo)致重復(fù)之前動作
刷新頁面會提示要顯示此頁面, Firefox 必須發(fā)送將會導(dǎo)致重復(fù)之前動作的數(shù)據(jù),此問題很是疑惑,接下來將為您解答,需要的朋友可以了解下2012-12-12