服務項目:網站建設、仿站、程序開發、APP開發設計、移動網站開發設計、企業網站設計、電子商務網站開發、網站維護、網站推廣、UX/UI 、HTML5、CSS3、JS / Jquery ...
          四川浚浚科技有限公司
          四川浚浚科技有限公司 (開發設計官網)TEL : 15308000360 / QQ : 38585404

          您的位置:首頁 > 技術經驗 > 前端開發 > 正文

          50個Jquery使用技巧讓你成為前端大神
          技術支持服務電話:15308000360 【7x24提供運維服務,解決各類系統/軟硬件疑難技術問題】

          1.如何創建嵌套的過濾器
          //允許你減少集合中的匹配元素的過濾器,
          //只剩下那些與給定的選擇器匹配的部分。在這種情況下,
          //查詢刪除了任何沒(:not)有(:has)
          //包含class為“selected”(.selected)的子節點。.filter(“:not(:has(.selected))”)
          2.如何重用元素搜索
          varallItems=$(“div.item”);
          varkeepList=$(“div#container1div.item”);//現在你可以繼續使用這些jQuery對象來工作了。例如,
          //基于復選框裁剪“keeplist”,復選框的名稱
          //符合
          <DIV>
          classnames:
          $(formToLookAt+”input:checked”).each(function(){
          keepList=keepList.filter(“.”+$(this).attr(“name”));
          });
          </DIV>
          3.任何使用has()來檢查某個元素是否包含某個類或是元素
          //jQuery1.4.*包含了對這一has方法的支持。該方法找出
          //某個元素是否包含了其他另一個元素類或是其他任何的
          //你正在查找并要在其之上進行操作的東東。$(“input”).has(“.email”).addClass(“email_icon”);
          4.如何使用jQuery來切換樣式表
          //找出你希望切換的媒體類型(media-type),然后把href設置成新的樣式表。
          $(‘link[media='screen']‘).attr(‘href’,'Alternative.css’);
          5.如何限制選擇范圍(基于優化目的)
          //盡可能使用標簽名來作為類名的前綴,
          //這樣jQuery就不需要花費更多的時間來搜索
          //你想要的元素。還要記住的一點是,
          //針對于你的頁面上的元素的操作越具體化,
          //就越能降低執行和搜索的時間。
          varin_stock=$(‘#shopping_cart_itemsinput.is_in_stock’);
          <ulid=”shopping_cart_items”>
          <li><inputtype=”radio”value=”Item-X”name=”item”class=”is_in_stock”/>ItemX</li>
          <li><inputtype=”radio”value=”Item-Y”name=”item”class=”3-5_days”/>ItemY</li>
          <li><inputtype=”radio”value=”Item-Z”name=”item”class=”unknown”/>ItemZ</li>
          </ul>
          6.如何正確地使用ToggleClass
          //切換(toggle)類允許你根據某個類的
          //是否存在來添加或是刪除該類。
          //這種情況下有些開發者使用:a.hasClass(‘blueButton’)?a.removeClass(‘blueButton’):a.addClass(‘blueButton’);
          //toggleClass允許你使用下面的語句來很容易地做到這一點
          a.toggleClass(‘blueButton’);
          7.如何設置IE特有的功能
          if($.browser.msie){
          //InternetExplorer其實不那么好用
          }
          8.如何使用jQuery來代替一個元素
          $(‘#thatdiv’).replaceWith(‘fnuh’);
          9.如何驗證某個元素是否為空
          if($(‘#keks’).html()){
          //什么都沒有找到;
          }
          10.如何從一個未排序的集合中找出某個元素的索引號
          $(“ul>li”).click(function(){
          varindex=$(this).prevAll().length;
          });
          11.如何把函數綁定到事件上
          $(‘#foo’).bind(‘click’,function(){
          alert(‘Userclickedon”foo.”‘);
          });
          12.如何追加或是添加html到元素中
          $(‘#lal’).append(‘sometext’);
          13.在創建元素時,如何使用對象字面量(literal)來定義屬性
          vare=$(“”,{href:”#”,class:”a-classanother-class”,title:”…”});
          14.如何使用多個屬性來進行過濾//在使用許多相類似的有著不同類型的input元素時,
          //這種基于精確度的方法很有用varelements=$(‘#someidinput[type=sometype][value=somevalue]‘).get();
          15.如何使用jQuery來預加載圖像
          jQuery.preloadImages=function(){
          for(vari=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);
          //注意,在jQuery1.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:$(selector).offset().top},500};
          }
          //然后像這樣來滾動到你希望去到的class/area上。
          $(‘.area_name’).autoscroll();
          20.如何檢測各種瀏覽器
          if($.browser.safari)//檢測Safari
          if($.browser.msie&&$.browser.version>6)//檢測IE6及之后版本
          if($.browser.msie&&$.browser.version<=6)//檢測IE6及之前版本
          if($.browser.mozilla&&$.browser.version>=’1.8′)//檢測FireFox2及之后版本
          21.如何替換串中的詞
          varel=$(‘#id’);
          el.html(el.html().replace(/word/ig,”));
          22.如何禁用右鍵單擊上下文菜單
          $(document).bind(‘contextmenu’,function(e){
          returnfalse;
          });
          23.如何定義一個定制的選擇器
          $.expr[':'].mycustomselector=function(element,index,meta,stack){
          //element-一個DOM元素
          //index–棧中的當前循環索引
          //meta–有關選擇器的元數據
          //stack–要循環的所有元素的棧
          //如果包含了當前元素就返回true
          //如果不包含當前元素就返回false};
          //定制選擇器的用法:
          $(‘.someClasses:test’).doSomething();
          24.如何檢查某個元素是否存在
          if($(‘#someDiv’).length){
          //終于找到了
          }
          25.如何使用jQuery來檢測右鍵和左鍵的鼠標單擊兩種情況
          $(“#someelement”).live(‘click’,function(e){
          if((!$.browser.msie&&e.button==0)||($.browser.msie&&e.button==1)){
          alert(“LeftMouseButtonClicked”);
          }elseif(e.button==2){
          alert(“RightMouseButtonClicked”);
          }
          });
          26.如何顯示或是刪除input域中的默認值
          //這段代碼展示了在用戶未輸入值時,
          //如何在文本類型的input域中保留
          //一個默認值
          wap_val=[];
          $(“.swap”).each(function(i){
          wap_val[i]=$(this).val();
          $(this).focusin(function(){
          if($(this).val()==swap_val[i]){
          $(this).val(“”);
          }
          }).focusout(function(){
          if($.trim($(this).val())==”"){
          $(this).val(swap_val[i]);
          }
          });
          });
          27.如何在一段時間之后自動隱藏或關閉元素(支持1.4版本)
          //這是1.3.2中我們使用setTimeout來實現的方式
          setTimeout(function(){
          $(‘.mydiv’).hide(‘blind’,{},500)
          },5000);
          //而這是在1.4中可以使用delay()這一功能來實現的方式(這很像是休眠)
          $(“.mydiv”).delay(5000).hide(‘blind’,{},500);
          28.如何把已創建的元素動態地添加到DOM中
          varnewDiv=$(”);
          newDiv.attr(‘id’,'myNewDiv’).appendTo(‘body’);
          29.如何限制“Text-Area”域中的字符的個數
          jQuery.fn.maxLength=function(max){
          this.each(function(){
          vartype=this.tagName.toLowerCase();
          varinputType=this.type?this.type.toLowerCase():null;
          if(type==”input”&&inputType==”text”||inputType==”password”){
          this.maxLength=max;
          }
          elseif(type==”textarea”){
          this.onkeypress=function(e){
          varob=e||event;
          varkeyCode=ob.keyCode;
          varhasSelection=document.selection
          ?document.selection.createRange().text.length>0
          :this.selectionStart!=this.selectionEnd;
          return!(this.value.length>=max
          &&(keyCode>50||keyCode==32||keyCode==0||keyCode==13)
          &&!ob.ctrlKey&&!ob.altKey&&!hasSelection);
          };
          this.onkeyup=function(){
          if(this.value.length>max){
          this.value=this.value.substring(0,max);
          }
          };
          }
          });
          };
          //用法
          $(‘#mytextarea’).maxLength(500);
          30.如何為函數創建一個基本的測試
          //把測試單獨放在模塊中
          module(“ModuleB”);
          test(“someothertest”,function(){
          //指明測試內部預期有多少要運行的斷言
          expect(2);
          //一個比較斷言,相當于JUnit的assertEquals
          equals(true,false,”failingtest”);
          equals(true,true,”passingtest”);
          });
          31.如何在jQuery中克隆一個元素
          varcloned=$(‘#somediv’).clone();
          32.在jQuery中如何測試某個元素是否可見
          if($(element).is(‘:visible’)==’true’){
          //該元素是可見的
          }
          33.如何把一個元素放在屏幕的中心位置
          jQuery.fn.center=function(){
          this.css(‘position’,'absolute’);
          this.css(‘top’,($(window).height()-this.height())/+$(window).scrollTop()+’px’);
          this.css(‘left’,($(window).width()-this.width())/2+$(window).scrollLeft()+’px’);
          returnthis;
          }
          //這樣來使用上面的函數:
          $(element).center();
          34.如何把有著某個特定名稱的所有元素的值都放到一個數組中
          vararrInputValues=newArray();
          $(“input[name='table[]‘]”).each(function(){
          arrInputValues.push($(this).val());
          });
          35.如何從元素中除去HTML
          (function($){
          $.fn.stripHtml=function(){
          varregexp=/<(“[^"]*”|’[^']*’|[^'">])*>/gi;
          this.each(function(){
          $(this).html($(this).html().replace(regexp,”"));
          });
          return$(this);
          }
          })(jQuery);
          //用法:
          $(‘p’).stripHtml();
          36.如何使用closest來取得父元素
          $(‘#searchBox’).closest(‘div’);
          37.如何使用Firebug和Firefox來記錄jQuery事件日志
          //允許鏈式日志記錄
          //用法:
          $(‘#someDiv’).hide().log(‘divhidden’).addClass(‘someClass’);
          jQuery.log=jQuery.fn.log=function(msg){
          if(console){
          console.log(“%s:%o”,msg,this);
          }
          returnthis;
          };
          38.如何強制在彈出窗口中打開鏈接
          jQuery(‘a.popup’).live(‘click’,function(){
          newwindow=window.open($(this).attr(‘href’),”,’height=200,width=150′);
          if(window.focus){
          newwindow.focus();
          }
          returnfalse;
          });
          39.如何強制在新的選項卡中打開鏈接
          jQuery(‘a.newTab’).live(‘click’,function(){
          newwindow=window.open($(this).href);
          jQuery(this).target=”_blank”;
          returnfalse;
          });
          40.在jQuery中如何使用.siblings()來選擇同輩元素
          //不這樣做
          $(‘#navli’).click(function(){
          $(‘#navli’).removeClass(‘active’);
          $(this).addClass(‘active’);
          });
          //替代做法是
          $(‘#navli’).click(function(){
          $(this).addClass(‘active’).siblings().removeClass(‘active’);
          });
          41.如何切換頁面上的所有復選框
          vartog=false;
          //或者為true,如果它們在加載時為被選中狀態的話
          $(‘a’).click(function(){
          $(“input[type=checkbox]“).attr(“checked”,!tog);
          tog=!tog;
          });
          42.如何基于一些輸入文本來過濾一個元素列表
          //如果元素的值和輸入的文本相匹配的話
          //該元素將被返回
          $(‘.someClass’).filter(function(){
          return$(this).attr(‘value’)==$(‘input#someId’).val();
          })
          43.如何獲得鼠標墊光標位置x和y
          $(document).ready(function(){
          $(document).mousemove(function(e){
          $(‘#XY’).html(“XAxis:”+e.pageX+”|YAxis”+e.pageY);
          });
          });
          44.如何把整個的列表元素(ListElement,LI)變成可點擊的
          $(“ulli”).click(function(){
          window.location=$(this).find(“a”).attr(“href”);
          returnfalse;
          });
          <ul>
          <li><ahref=”#”>Link1</a></li>
          <li><ahref=”#”>Link2</a></li>
          <li><ahref=”#”>Link3</a></li>
          <li><ahref=”#”>Link4</a></li>
          </ul>
          45.如何使用jQuery來解析XML(基本的例子)
          functionparseXml(xml){
          //找到每個Tutorial并打印出author
          $(xml).find(“Tutorial”).each(function(){
          $(“#output”).append($(this).attr(“author”)+”");
          });
          }
          46.如何檢查圖像是否已經被完全加載進來
          $(‘#theImage’).attr(‘src’,'image.jpg’).load(function(){
          alert(‘ThisImageHasBeenLoaded’);
          });
          47.如何使用jQuery來為事件指定命名空間
          //事件可以這樣綁定命名空間
          $(‘input’).bind(‘blur.validation’,function(e){
          //…
          });
          //data方法也接受命名空間
          $(‘input’).data(‘validation.isValid’,true);
          48.如何檢查cookie是否啟用
          vardt=newDate();
          dt.setSeconds(dt.getSeconds()+60);
          document.cookie=”cookietest=1;expires=”+dt.toGMTString();
          varcookiesEnabled=document.cookie.indexOf(“cookietest=”)!=-1;
          if(!cookiesEnabled){
          //沒有啟用cookie
          }
          49.如何讓cookie過期
          vardate=newDate();
          date.setTime(date.getTime()+(x*60*1000));
          $.cookie(‘example’,'foo’,{expires:date});
          50.如何使用一個可點擊的鏈接來替換頁面中任何的URL
          $.fn.replaceUrl=function(){
          varregexp=/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
          this.each(function(){
          $(this).html(
          $(this).html().replace(regexp,’<ahref=”$1″>$1</a>’)
          );
          });
          return$(this);
          }
          //用法
          $(‘p’).replaceUrl();
          最后奉上:能否成為前端大神就看你的造化啦



          上一篇:頁面響應式布局CSS樣式通用代碼
          下一篇:最新整理45個div+css兼容性問題與解決方案

          相關熱詞搜索:jquery
          主站蜘蛛池模板: 黄色免费在线观看网址| 三年片在线观看免费观看大全中国| 18女人毛片水真多免费| 极品尤物一区二区三区| 十分钟免费视频高清完整版www| 99久久精品免费看国产一区二区三区 | 色吊丝永久在线观看最新| 天海翼电影在线观看| 亚洲人成黄网在线观看| 香蕉视频在线观看www| 国语自产精品视频在线看| 久草视频在线免费| 爽爽爽爽爽爽爽成人免费观看| 国产三级国产经典国产av| AV无码久久久久不卡网站下载| 晚上睡不着来b站一次看过瘾 | 国产寡妇树林野战在线播放| 91精品国产高清久久久久久io| 小小视频最新免费观看在线| 久久国产乱子免费精品| 欧美又大粗又爽又黄大片视频黑人| 国产乱妇乱子在线视频| **aaaaa毛片免费同男同女| 天天躁日日躁狠狠躁av中文| 久久不射电影院| 欧洲国产成人精品91铁牛tv| 啊灬啊别停灬用力啊老师在线 | 日韩精品专区在线影院重磅| 冠希实干阿娇13分钟视频在线看| 337p欧美日本超大胆艺术裸| 娃娃脸中文字幕1080p| 亚洲一区二区三区在线观看网站 | 大陆熟妇丰满多毛XXXX| 亚洲AV午夜成人片| 毛片a级毛片免费播放下载 | 特一级黄色毛片| 午夜亚洲av永久无码精品| 蜜桃麻豆www久久囤产精品| 在线免费观看欧美大片| 一级特黄性色生活片| 日本狂喷奶水在线播放212|