<noframes id="5hjpd"><progress id="5hjpd"><form id="5hjpd"></form></progress>

    <noframes id="5hjpd">

    <span id="5hjpd"><progress id="5hjpd"><progress id="5hjpd"></progress></progress></span>
      <noframes id="5hjpd">
      <ins id="5hjpd"><sub id="5hjpd"><rp id="5hjpd"></rp></sub></ins>
      <del id="5hjpd"><big id="5hjpd"></big></del>
      <track id="5hjpd"></track>

      30個jQuery代碼開發技巧

      導語 1 創建一個嵌套的過濾器 filter(":not(:has( selected))") 去掉所有不包含class為 selected的元素2 重用你的元素查詢var allItems = $("div item"); var keepList = $("div container1 div item"
      1. 創建一個嵌套的過濾器

      .filter(":not(:has(.selected))") //去掉所有不包含class為.selected的元素

      2. 重用你的元素查詢

      var allItems = $("div.item"); var keepList = $("div#container1 div.item"); <div>class names: $(formToLookAt + " input:checked").each(function() { keepListkeepList = keepList.filter("." + $(this).attr("name")); }); </div>

      3. 使用has()來判斷一個元素是否包含特定的class或者元素

      //jQuery 1.4.* includes support for the has method. This method will find //if a an element contains a certain other element class or whatever it is //you are looking for and do anything you want to them. $("input").has(".email").addClass("email_icon");

      4. 使用jQuery切換樣式

      //Look for the media-type you wish to switch then set the href to your new style sheet $('link[media='screen']').attr('href', 'Alternative.css');

      5. 限制選擇的區域

      //Where possible, pre-fix your class names with a tag name //so that jQuery doesn't have to spend more time searching //for the element you're after. Also remember that anything //you can do to be more specific about where the element is //on your page will cut down on execution/search times var in_stock = $('#shopping_cart_items input.is_in_stock'); <ul id="shopping_cart_items"> <li> <input value="Item-X" name="item" type="radio"> Item X</li> <li> <input value="Item-Y" name="item" type="radio"> Item Y</li> <li> <input value="Item-Z" name="item" type="radio"> Item Z</li> </ul>

      6. 如何正確使用ToggleClass

      //Toggle class allows you to add or remove a class //from an element depending on the presence of that //class. Where some developers would use: a.hasClass('blueButton') ? a.removeClass('blueButton') : a.addClass('blueButton'); //toggleClass allows you to easily do this using a.toggleClass('blueButton');

      7. 設置IE指定的功能

      if ($.browser.msie) { // Internet Explorer is a sadist. }

      8. 使用jQuery來替換一個元素

      $('#thatdiv').replaceWith('fnuh');

      9. 驗證一個元素是否為空

      if ($('#keks').html()) { //Nothing found ;}

      10. 在無序的set中查找一個元素的索引

      $("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. 創建元素時使用對象來定義屬性

      var e = $("", { href: "#", class: "a-class another-class", title: "..." });

      14. 使用過濾器過濾多屬性

      //This precision-based approached can be useful when you use //lots of similar input elements which have different types var elements = $('#someid input[type=sometype][value=somevalue]').get();

      15. 使用jQuery預加載圖片

      jQuery.preloadImages = function() { for(var i = 0; i').attr('src', arguments[i]); } }; // Usage $.preloadImages('image1.gif', '/path/to/image2.png', 'some/image3.jpg');

      16. 設置任何匹配一個選擇器的事件處理程序

      $('button.someClass').live('click', someFunction); //Note that in jQuery 1.4.2, the delegate and undelegate options have been //introduced to replace live as they offer better support for context //For example, in terms of a table where before you would use.. // .live() $("table").each(function(){ $("td", this).live("hover", function(){ $(this).toggleClass("hover"); }); }); //Now use.. $("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 ); } //Then to scroll to the class/area you wish to get to like this: $('.area_name').autoscroll();

      20. 檢測各種瀏覽器

      Detect Safari (if( $.browser.safari)), Detect IE6 and over (if ($.browser.msie &amp;&amp; $.browser.version &gt; 6 )), Detect IE6 and below (if ($.browser.msie &amp;&amp; $.browser.version &lt;= 6 )), Detect FireFox 2 and above (if ($.browser.mozilla &amp;&amp; $.browser.version &gt;= '1.8' ))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- is a DOM element // index - the current loop index in stack // meta - meta data about your selector // stack - stack of all elements to loop // Return true to include current element // Return false to explude current element }; // Custom Selector usage: $('.someClasses:test').doSomething();

      24. 判斷一個元素是否存在

      if ($('#someDiv').length) {//hooray!!! it exists...}

      25. 使用jQuery判斷鼠標的左右鍵點擊

      $("#someelement").live('click', function(e) { if( (!$.browser.msie &amp;&amp; e.button == 0) || ($.browser.msie &amp;&amp; e.button == 1) ) { alert("Left Mouse Button Clicked"); } else if(e.button == 2) alert("Right Mouse Button Clicked"); });

      26. 顯示或者刪除輸入框的缺省值

      //This snippet will show you how to keep a default value //in a text input field for when a user hasn't entered in //a value to replace it swap_val = []; $(".swap").each(function(i){ swap_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]); } }); }); <INPUT value="Enter Username here.." type=text>

      27. 指定時間后自動隱藏或者關閉元素(1.4支持)

      //Here's how we used to do it in 1.3.2 using setTimeout setTimeout(function() { $('.mydiv').hide('blind', {}, 500) }, 5000); //And here's how you can do it with 1.4 using the delay() feature (this is a lot like sleep) $(".mydiv").delay(5000).hide('blind', {}, 500);

      28. 動態創建元素到DOM

      var newgbin1Div = $(''); newgbin1Div.attr('id','gbin1.com').appendTo('body');

      29. 限制textarea的字符數量

      jQuery.fn.maxLength = function(max){ this.each(function(){ var type = this.tagName.toLowerCase(); var inputType = this.type? this.type.toLowerCase() : null; if(type == "input" &amp;&amp; inputType == "text" || inputType == "password"){ //Apply the standard maxLength this.maxLength = max; } else if(type == "textarea"){ this.onkeypress = function(e){ var ob = e || event; var keyCode = ob.keyCode; var hasSelection = document.selection? document.selection.createRange().text.length &gt; 0 : this.selectionStart != this.selectionEnd; return !(this.value.length &gt;= max &amp;&amp; (keyCode &gt; 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) &amp;&amp; !ob.ctrlKey &amp;&amp; !ob.altKey &amp;&amp; !hasSelection); }; this.onkeyup = function(){ if(this.value.length &gt; max){ this.value = this.value.substring(0,max); } }; } }); }; //Usage: $('#gbin1textarea').maxLength(500);

      30. 為函數創建一個基本測試用例

      //Separate tests into modules. module("Module B"); test("some other gbin1.com test", function() { //Specify how many assertions are expected to run within a test. expect(2); //A comparison assertion, equivalent to JUnit's assertEquals. equals( true, false, "failing test" ); equals( true, true, "passing test" ); });

      http://www.randomwithlife.com/ true 30個jQuery代碼開發技巧 http://www.randomwithlife.com/show-13-141-1.html report <?php echo strlen($content) / 2; ?> 1 創建一個嵌套的過濾器 filter(":not(:has( selected))") 去掉所有不包含class為 selected的元素2 重用你的元素查詢var allItems = $("div item"); var keepList = $("div container1 div item"
      TAG:jQuery 技巧
      本站歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動成果
      轉載請注明: 文章轉載自:愛思資源網 http://www.randomwithlife.com/show-13-141-1.html

      [前端插件推薦] Plugin

      1 2 3 4
      • jQuery實現逐字逐句顯示插件l-by-l.min.js
      • jQuery帶方向感知的鼠標滑過圖片邊框特效插件
      • jQuery HotKeys監聽鍵盤按下事件keydown插件
      • 響應式無限輪播jQuery旋轉木馬插件
      響應式無限輪播jQuery旋轉木馬插件
      web前端開發
      愛思資源網 Copyright 2012-2014 www.randomwithlife.com All rights reserved.(晉ICP備13001436號-1)
      欧美精品久久久久久久自慰

      <noframes id="5hjpd"><progress id="5hjpd"><form id="5hjpd"></form></progress>

        <noframes id="5hjpd">

        <span id="5hjpd"><progress id="5hjpd"><progress id="5hjpd"></progress></progress></span>
          <noframes id="5hjpd">
          <ins id="5hjpd"><sub id="5hjpd"><rp id="5hjpd"></rp></sub></ins>
          <del id="5hjpd"><big id="5hjpd"></big></del>
          <track id="5hjpd"></track>