淺談JS、Ajax、JQuery之間的關系

      網友投稿 796 2025-03-31

      在項目開發過程中,遇到了一個奇怪的問題,詳參《網站開發進階(五十二)jsp詭異問題:從不同鏈接點進去進入同一jsp頁面,獲取的值確不同!》。由此,而催生出此篇博文。

      在JS中,獲取某一元素值,可通過如下方式:

      var xx = obj._value;

      也可以通過jquery的方式獲取:

      // 通過jquery方式獲取元素值 var xx = $(obj).attr('_value');

      下面主要講解下jquery方面的基礎知識,在網站開發過程中,jquery的確是一把利器。

      Jquery是繼prototype之后又一個優秀的javaScript框架。它是輕量級的js庫(壓縮后只有21k) ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用戶能更方便地處理HTML documents、events、實現動畫效果,并且方便地為網站提供AJAX交互。

      jQuery還有一個比較大的優勢是:它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁保持代碼和內容分離,也就是說,不用再在html里面插入一堆js來調用命令了,只需定義id即可。

      jQuery是目前使用最廣泛的javaScript函數庫。據統計,全世界排名前100萬的網站,有46%使用jQuery,遠遠超過其他庫。微軟公司甚至把jQuery作為他們的官方庫。對于網頁開發者來說,學會jQuery是必要的。因為它讓你了解業界最通用的技術,為將來學習更高級的庫打下基礎,并且確實可以很輕松地做出許多復雜的效果。

      舉個小例子:

      下面講解下原生JS和jQuery操作DOM對比總結

      一、創建元素節點

      1.1 原生JS創建元素節點

      document.createElement("p");

      1.2 jQuery創建元素節點

      $('');

      二、創建并添加文本節點

      2.1 原生JS創建文本節點

      document.createTextNode("Text Content");

      通常創建文本節點和創建元素節點配合使用,比如:

      var textEl = document.createTextNode("hello world."); var pEl = document.createElement("p"); pEl.appendChild(textEl);

      2.2 jQuery創建并添加文本節點:

      var $p = $('

      hello world.

      ');

      三、復制節點

      3.1 原生JS復制節點:

      var newEl = pEl.cloneNode(true);

      true和false的區別:

      true :克隆整個'

      Hello World.

      '節點 false:只克隆'' ,不克隆文本Hello World.'

      3.2 jQuery復制節點

      $newEl = $('#pEl').clone(true);

      注意??:克隆節點要避免ID重復!

      四、 插入節點

      4.1 原生JS向子節點列表的末尾添加新的子節點

      El.appendChild(newNode);

      淺談JS、Ajax、JQuery之間的關系

      原生JS在節點的已有子節點之前插入一個新的子節點:

      El.insertBefore(newNode, targetNode);

      4.2 在jQuery中,插入節點的方法比原生JS多的多

      在匹配元素子節點列表結尾添加內容

      $('#El').append('

      Hello World.

      ');

      把匹配元素添加到目標元素子節點列表結尾

      $('

      Hello World.

      ').appendTo('#El');

      在匹配元素子節點列表開頭添加內容

      $('#El').prepend('

      Hello World.

      ');

      把匹配元素添加到目標元素子節點列表開頭

      $('

      Hello World.

      ').prependTo('#El');

      在匹配元素之前添加目標內容

      $('#El').before('

      Hello World.

      ');

      把匹配元素添加到目標元素之前

      $('

      Hello World.

      ').insertBefore('#El');

      在匹配元素之后添加目標內容

      $('#El').after('

      Hello World.

      ');

      把匹配元素添加到目標元素之后

      $('

      Hello World.

      ').insertAfter('#El');

      五、刪除節點

      5.1 原生JS刪除節點

      El.parentNode.removeChild(El);

      5.2 jQuery刪除節點

      $('#El').remove();

      六、替換節點

      6.1 原生JS替換節點

      El.repalceChild(newNode, oldNode);

      注意??:oldNode必須是parentEl真實存在的一個子節點!

      6.2 jQuery替換節點

      $('p').replaceWith('

      Hello World.

      ');

      七、設置屬性/獲取屬性

      7.1 原生JS設置屬性/獲取屬性

      imgEl.setAttribute("title", "logo"); imgEl.getAttribute("title"); checkboxEl.checked = true; checkboxEl.checked;

      7.2 jQuery設置屬性/獲取屬性:

      $("#logo").attr({"title": "logo"}); $("#logo").attr("title"); $("#checkbox").prop({"checked": true}); $("#checkbox").prop("checked");

      下面接著講下jquery獲取元素值的方法(常見的表單元素)。

      獲取元素值的方法有很多,接下來主要為大家詳細介紹下使用jquery是如何做到的:jquery radio取值,checkbox取值,select取值,radio選中,checkbox選中,select選中,及其相關。

      獲取一組radio被選中項的值

      var item = $('input[name=items][checked]').val();

      獲取select被選中項的文本

      var item = $("select[name=items] option[selected]").text();

      select下拉框的第二個元素為當前選中值

      $('#select_id')[0].selectedIndex = 1;

      radio單選組的第二個元素為當前選中值

      $('input[name=items]').get(1).checked = true;

      獲取值:

      文本框,文本區域:$("#txt").attr("value");

      多選框checkbox:$("#checkbox_id").attr("value");

      單選組radio: $("input[@type=radio][@checked]").val();

      下拉框select: $('#sel').val();

      控制表單元素:

      文本框,文本區域:$("#txt").attr("value",'');//清空內容

      $("#txt").attr("value",'11');//填充內容

      多選框checkbox: $("#chk1").attr("checked",'');//不打勾

      $("#chk2").attr("checked",true);//打勾

      if($("#chk1").attr('checked')==undefined) //判斷是否已經打勾

      單選組radio: $("input[@type=radio]").attr("checked",'2');//設置value=2的項目為當前選中項

      下拉框select:

      $("#sel").attr("value",'-sel3');//設置value=-sel3的項目為當前選中項 $(" ").appendTo("#sel")//添加下拉框的option $("#sel").empty();//清空下拉框

      欲獲取更多關于JQuery的技能,詳參W3CSchool。

      附 學習參考資料

      Jquery學習手冊

      Ajax jQuery

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎么選擇無代碼開發平臺(無代碼快速開發平臺)
      下一篇:如何在PPT中插入批注?(ppt怎么加入批注)
      相關文章
      亚洲欧洲日产国产综合网| 国产亚洲福利精品一区| 亚洲精品美女久久久久| 亚洲综合无码一区二区| 亚洲av不卡一区二区三区| 亚洲国产成人一区二区精品区| 亚洲一区二区女搞男| 亚洲欧洲美洲无码精品VA| 中国亚洲女人69内射少妇| 亚洲中久无码永久在线观看同| 亚洲欧洲久久久精品| 亚洲日韩涩涩成人午夜私人影院| 亚洲精品A在线观看| 亚洲国产精品第一区二区三区| gogo全球高清大胆亚洲| 国产一区二区三区亚洲综合| 亚洲第一黄色网址| 亚洲人成人无码网www国产| 亚洲一级片内射网站在线观看| 亚洲国产一区视频| 中文字幕久久亚洲一区 | 亚洲熟妇自偷自拍另欧美| 亚洲区日韩精品中文字幕| 亚洲国产成人无码AV在线影院| 亚洲av无码片vr一区二区三区 | 亚洲午夜精品久久久久久app| 亚洲精品无码永久在线观看男男| 亚洲AV永久无码精品一福利 | 亚洲国产高清精品线久久| 久久久久亚洲精品天堂久久久久久 | 2022年亚洲午夜一区二区福利| 亚洲黄色免费电影| 亚洲三级在线播放| 亚洲日韩av无码中文| 亚洲高清偷拍一区二区三区| 亚洲色精品88色婷婷七月丁香| 无码欧精品亚洲日韩一区| 亚洲精品美女在线观看| 亚洲综合色丁香婷婷六月图片| 自拍偷自拍亚洲精品偷一| 亚洲日韩中文字幕日韩在线|