您好,登錄后才能下訂單哦!
本篇接上篇繼續介紹jQuery的一些用法:
5、文檔處理: 對HTML頁面的內容進行一些增刪改改的操作。
涉及到的知識點:
appendTo :把匹配的元素追加到另一個指定的元素集合中
prepend :向每個匹配的元素內容之前插入內容
clone :復制匹配的元素
remove :刪除匹配的元素
empty :清空匹配的元素的所有子元素
例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="d1"> <div> <a onclick="Addto(this,'#d1');"> + </a> <!--點擊此加號會自動添加--> <input type="text" /> </div> </div> <div ></div> <div id="d2"> <textarea >文本一</textarea> <input type="button" value="左移到右" onclick="Move(this);"/> <textarea >文本二</textarea> <input type="button" value="清空文本" onclick="Empty();"/> </div> <script src="/jquery-2.2.0.js"></script> <script> function Addto(ths,con){ var cp = $(ths).parent().clone(); //找到當前元素的父標簽并復制其所有內容 //修改獲取到的內容: //首先把第一個子元素的文本改成‘—’ //然后再把里面的onclick屬性值改成Remove(this') cp.children(':first').text('-').attr("onclick","Remove(this)"); cp.appendTo(con); //把修改后的內容追加到傳入的ID所在元素的最后面 } function Remove(ths){ $(ths).parent().remove(); //找到當前元素的父元素 并將其刪除,也就是刪除自己。 } function Move(ths){ var cp = $(ths).prev().text(); //獲取文本一的內容 $(ths).prev().text(''); //獲取完成后清空文本一 cp = cp + '\n' //增加換行符 $(ths).next().prepend(cp); //查找到文本二所在元素位置并在文本二之前插入文本一內容 } function Empty(){ $('textarea').empty(); //清空所有的textarea元素的內容 } </script> </body> </html>
6、事件
涉及到知識點:
ready:當頁面DOM加載完成后執行包含的代碼
focus:設置頁面某元素獲取焦點,也可設置獲取焦點后執行代碼
blur:當元素失去焦點時觸發并執行代碼
change:當元素內容發生改變時觸發
bind:為某元素綁定一個事件
click:單擊事件
hover:鼠標懸停事件(鼠標移動到一個對象上及移出這個對象時)的方法
例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .change_color{ background-color: deepskyblue; } .bk{ border: solid 2px green; } </style> </head> <body> <input id="d1" type="text"> <input id="d2" type="button" value="隱藏輸入框"> <script src="/jquery-2.2.0.js"></script> <script> $(function(){ //當頁面DOM加載完成后執行,$(document).ready(function(){ 的簡寫方式 $('#d1').focus(); //自動把焦點設置到ID為d1的元素上 $('#d1').blur(function(){ //當元素失去焦點時執行 $(this).change(function(){ //如果元素內容發生改變時執行 $(this).addClass('bk'); //修改元素邊框樣式 }); }); $('#d2').bind("click",function(){ //為ID為d2的元素綁定一個click事件 $('#d1').hide(); //隱藏ID為d1的元素 }); $('#d2').hover( //當ID為d2的元素發生鼠標懸停事件時執行 function(){ $(this).addClass('change_color'); //鼠標懸停時添加樣式 }, function(){ $(this).removeClass('change_color'); //鼠標移走時去除樣式 } ); }); </script> </body> </html>
7、自定義插件
說明:jQuery雖然已經提供了很多方法,但是總會有某些時候我們想自定義一些方法。jQuery提供了一個插件機制來滿足此類需求。
例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script src="/jquery-2.2.0.js"></script> <script> (function(arg){ //自執行函數,這里的arg是一個形參,值是最后的括號中傳入的jQuery arg.extend({ //jquery擴展方法的語法:等于 jQuery.extend "login":function(){ //格式為“方法名稱”:方法主體代碼 return 123; //執行的代碼 } }); })(jQuery); //傳入參數值 var ret = $.login(); //執行自定義的jQuery方法 console.log(ret); //查看結果 </script> </body> </html>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。