本文給大家展示50個jquery代碼片段,這些代碼能夠給你的javascript項目提供幫助。其中的一些代碼段是從jQuery1.4.2才開始支持的做法,另一些則是真正有用的函數或方法,他們能夠幫助你又快又好地把事情完成。這些都是我盡量記住的有著最佳性能的代碼段,因此如果你發現你任何可以做得更好的地方的話,歡迎把你的版本粘貼在評論中!我希望你在這一文章中能找到有幫助的東西。
1. 如何創建嵌套的過濾器
//允許你減少集合中的匹配元素的過濾器, //只剩下那些與給定的選擇器匹配的部分。在這種情況下, //查詢刪除了任何沒(:not)有(:has) //包含class為“selected”(.selected)的子節點。.filter(":not(:has(.selected))")2. 如何重用元素搜索
var allItems = $("div.item"); var keepList = $("div#container1 div.item"); //現在你可以繼續使用這些jQuery對象來工作了。例如, //基于復選框裁剪“keep list”,復選框的名稱 //符合 <DIV>class names: $(formToLookAt + " input:checked").each(function () { keepList = keepList.filter("." + $(this).attr("name")); }); </DIV>3. 任何使用has()來檢查某個元素是否包含某個類或是元素
//jQuery 1.4.*包含了對這一has方法的支持。該方法找出 //某個元素是否包含了其他另一個元素類或是其他任何的 //你正在查找并要在其之上進行操作的東東。$("input").has(".email").addClass("email_icon");4. 如何使用jQuery來切換樣式表
//找出你希望切換的媒體類型(media-type),然后把href設置成新的樣式表。$(‘link[media=”screen”]').attr(‘href', ‘Alternative.css');
5. 如何限制選擇范圍(基于優化目的)
//盡可能使用標簽名來作為類名的前綴, //這樣jQuery就不需要花費更多的時間來搜索 //你想要的元素。還要記住的一點是, //針對于你的頁面上的元素的操作越具體化, //就越能降低執行和搜索的時間。 var in_stock = $('#shopping_cart_items input.is_in_stock'); <ul id="shopping_cart_items"> <li><input type="radio" value="Item-X" name="item" class="is_in_stock" />Item X</li> <li><input type="radio" value="Item-Y" name="item" class="3-5_days" />Item Y</li> <li><input type="radio" value="Item-Z" name="item" class="unknown" />Item Z</li> </ul>6. 如何正確地使用ToggleClass
//切換(toggle)類允許你根據某個類的 //是否存在來添加或是刪除該類。 //這種情況下有些開發者使用: a.hasClass('blueButton') ? a.removeClass('blueButton') : a.addClass('blueButton');//toggleClass允許你使用下面的語句來很容易地做到這一點a.toggleClass(‘blueButton');7. 如何設置IE特有的功能
if ($.browser.msie) {// Internet Explorer其實不那么好用}8. 如何使用jQuery來代替一個元素
$(‘#thatdiv').replaceWith(‘fnuh');
9. 如何驗證某個元素是否為空
if ($(‘#keks').html().trim()) {//什么都沒有找到;}10. 如何從一個未排序的集合中找出某個元素的索引號
$("ul > li").click(function () { var index = $(this).prevAll().length; });11. 如何把函數綁定到事件上
$('#foo').bind('click', function () { alert('User clicked on "foo."'); });12. 如何追加或是添加html到元素中
$(‘#lal').append(‘sometext');
13. 在創建元素時,如何使用對象字面量(literal)來定義屬性
var e = $(“”, { href: “#”, class: “a-class another-class”, title: “…” });14. 如何使用多個屬性來進行過濾
//在使用許多相類似的有著不同類型的input元素時, //這種基于精確度的方法很有用 var elements = $('#someid input[type=sometype][value=somevalue]').get();15. 如何使用jQuery來預加載圖像
jQuery.preloadImages = function () { for (var i = 0; i < arguments.length; i++) { $("<img />").attr('src', arguments[i]); } };//用法 $.preloadImages(‘image1.gif', ‘/path/to/image2.png','some/image3.jpg');16. 如何為任何與選擇器相匹配的元素設置事件處理程序
$('button.someClass').live('click', someFunction);//注意,在jQuery 1.4.2中,delegate和undelegate選項 //被引入代替live,因為它們提供了更好的上下文支持 //例如,就table來說,以前你會用 //.live() $("table").each(function () { $("td", this).live("hover", function () { $(this).toggleClass("hover"); }); });//現在用 $("table").delegate("td", "hover", function () { $(this).toggleClass("hover"); });17. 如何找到一個已經被選中的option元素
$(‘#someElement').find(‘option:selected');
18. 如何隱藏一個包含了某個值文本的元素
$(“p.value:contains(‘thetextvalue')”).hide();
19. 如果自動滾動到頁面中的某區域
jQuery.fn.autoscroll = function (selector) {$(‘html,body').animate( { scrollTop: $(this ).offset().top },500);}//然后像這樣來滾動到你希望去到的class/area上。$(‘.area_name').autoscroll();20. 如何檢測各種瀏覽器
if( $.browser.safari) //檢測Safariif ($.browser.msie && $.browser.version > 6 ) //檢測IE6及之后版本if ($.browser.msie && $.browser.version <= 6 ) //檢測IE6及之前版本if ($.browser.mozilla && $.browser.version >= ‘1.8' ) //檢測FireFox 2及之后版本
21. 如何替換串中的詞
var el = $(‘#id'); el.html(el.html().replace(/word/ig, ”));
22. 如何禁用右鍵單擊上下文菜單
$(document).bind(‘contextmenu', function (e) {return false ;});23. 如何定義一個定制的選擇器
$.expr[':'].mycustomselector = function(element, index, meta, stack){ // element- 一個DOM元素 // index
主站蜘蛛池模板:
仪陇县|
甘洛县|
招远市|
安溪县|
郯城县|
晋宁县|
锡林浩特市|
宁海县|
瑞安市|
迁安市|
长治市|
三河市|
宣武区|
凯里市|
安乡县|
长春市|
三原县|
开封县|
大同市|
柘城县|
伊宁县|
应用必备|
龙南县|
会理县|
荥经县|
保德县|
焉耆|
日照市|
民权县|
通许县|
时尚|
张家川|
顺平县|
德兴市|
丁青县|
七台河市|
西盟|
龙江县|
确山县|
乌苏市|
万宁市|