LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]【JavaScript】jQuery中$()函數操作頁面各種效果

admin
2023年4月28日 15:49 本文熱度 989

jQuery對象是一個類數組的對象,含有連續的整形屬性以及一系列的jQuery方法。它把所有的操作都包裝在一個jQuery()函數中,形成了統一(也是惟一)的操作入口。

其中我們用的非常頻繁的一個函數是$()或者說是jQuery(),當我們調用他的時候會根據傳入的參數的不同而達到不同的效果。

 

構造函數jQuery()常見的7種用法

   1.接受一個CSS選擇器表達式和可選的選擇器上下文,返回一個包含了匹配的DOM元素的jQuery對象。例如:$('.p'),$('.p','.content');

   2.接受HTML代碼創建DOM元素。例如:$('<p></p>');

   3.封裝DOM元素為jQuery對象。例如:$(this);

   4.將普通對象封裝為jQuery對象,以便普通對象也可以調用jQuery對象的方法。例如:$(obj);

   5.給ready事件綁定監聽函數。例如:$(function(){});

   6.接受一個jQuery對象,返回該jQuery對象的副本。例如 $($('p'));

   7.創建一個空jQuery對象。例如$();


參數是一個function, 入口函數
$(domobj) 把dom對象轉換成jquery對象
參數是一個字符串,用來找對象


1 、jQuery(selector,context)

簡要的說是:接收一個css選擇器表達式(selector)和可選的選擇器上下文(context),返回一個包含了匹配的DOM元素的jQuery對象。

默認情況下,對匹配元素的查找都是從根元素ducument對象開始,也就是說查找范圍是整棵文檔樹。但是如果給定了上下文context,則在指定上下文中查找


<span>body span</span>
   <span>body span</span>
   <span>body span</span>
   <div class="wrap">
       <span>wrap span</span>
       <span>wrap span</span>
       <span>wrap span</span>
   </div>


$('span').css('background-color','red');//所有的span都會變紅

$('.wrap span').css('background-color','red');//只有.wrap中的span會變紅

2、jQuery(html,ownerDocument) 、jQuery(html,props)

用所提供的html代碼創建DOM元素

對于jQuery(html,ownerDocument),參數html可以是單標簽或者是多層標簽之間的嵌套。第二個參數用于創建新DOM元素的文檔對象,如果不傳入則默認為當前的文檔對象。


//單標簽  兩種方式都可以往body中插入div
   /*  
    *   1  $('<div>').appendTo('body');
    *   2  $('').appendTo('body');  
    */
   // 多標簽嵌套
    $('<div><span>dfsg</span></div>').appendTo('body');

3 jQuery(element or elementsArray)

如果傳入一個DOM元素或者是DOM元素的數組,則把DOM元素封裝到jQuery對象中并返回。


<ul>
       <li>1</li>
       <li>2</li>
       <li>3</li>
       <li>4</li>
       <li>5</li>
   </ul>


// 傳入DOM元素
        $('li').each(function(index,ele){
               $(ele).on('click',function(){
                   $(this).css('background','red');//這里的DOM元素就是this
               })
       })
       
       //傳入DOM數組
       var aLi=document.getElementsByTagName('li');
           aLi=[].slice.call(aLi);//集合轉數組
           var $aLi=$(aLi);
           $aLi.html('我是jQuery對象');//所有的li的內容都變成'我是jQuery對象'

4 jQuery(object)

如果傳入的是一個object對象,則把該對象封裝到jQuery對象中并返回。


var obj={name:'謙龍'};
   var $obj=$(obj);//封裝成jQuery對象
   //綁定自定義事件
   $obj.on('say',function(){
       console.log(this.name)//輸出謙龍
   });
   $obj.trigger('say');

5 jQuery(callback)

當傳進去的參數是函數的時候,則在document對象上綁定一個ready事件監聽函數,當DOM結構加載完成的時候執行


$(function(){
   
   })
   //以上代碼和下面的效果是一樣的
   $(document).ready(function(){
       ...//代碼
   })

6 jQuery(jQuery object)

當傳進去的參數是一個jQuery對象的時候,則創建該jQuery對象的一個副本并返回。副本與傳入的jQuery對象引用完全相同的元素


var aLi=$('li');
   var copyLi=$(aLi);//創建一個aLi的副本
   console.log(aLi);
   console.log(copyLi);
   console.log(copyLi===aLi);

7 jQuery()

如果不傳入任何的參數,則返回一個空的jQuery對象,屬性length為0

注意這個功能可以用來復用jQuery對象,例如可以創建一個空的jQuery對象,然后在需要的時候先手動修改其中的元素,然后在調用jQuery方法。從而避免重復創建jQuery對象。

 

綁定事件:$("a").click(funcTIon(){...})

顯示其html內容:alert($("div>p").html());       $(document).find("div>p").html());

添加新內容:$("Hello").appendTo("body");

$("#")是指選擇器選擇帶有 id的元素

 


jQuery中的“$”

 

1、jQuery對象構造函數【選擇器】

在CSS中選擇器的作用是選擇頁面中某一類元素或者某一個元素(ID選擇器),而jQuery中的"$"作為選擇器,同樣是選擇某一類或某一類元素。

<h2>標記下包含的所有子標記<a> 

h2 a {  /*添加CSS屬性*/  }

$("h2 a")  對象數組 

$("#showDiv“)     id選擇器,相當于javascript中的document.getElementById("#showDiv")

$(".SomeClass")   class選擇器,選擇CSS類別作為”SomeClass“的所有節點元素, 在javascript中要實現相同的選擇,需要用for循環遍歷整個DOM

$("p : odd")  選擇所有位于奇數行的<p>標記, 幾乎所有的標記都可以使用": odd" 或者 ": even" 來實現奇偶的選擇

$("td:nth-child(1)")  所有表格行的第一個單元格,就是第一列。這在修改表格的某一列的屬性時是非常有用的。不再需要一行行遍歷表格

$("li > a")  子選擇器,返回<li>標記的所有子元素<a>,不包括孫標記

$("a[href$=pdf]")  選擇所有超鏈接,并且這些超鏈接的href屬性是以"pdf"結尾的。有了屬性選擇器,可以很好的選擇頁面中的各種特性元素

 

2、功能函數前綴

在javascript中,開發者經常要便攜一些小函數來處理各種操作細節,例如在用戶提交表單時,需要將文本框中的最前端和最末端的空格清理掉,javascript沒有提供類似trim()的功能,而引入jQuery后,便可以直接使用trim()函數,例如:

$.trim(sString);

jQuery.trim(sString);

trim()是jQuery的全局函數。

 

3、解決window.onload函數的沖突

由于頁面的HMTL框架需要在頁面完全加載之后才能使用,因此在DOM編程時window.onload函數頻繁被使用。倘若頁面中有多處都需要使用該函數,或者其他.js文件中也包含window.onload函數,沖突問題十分棘手。jQuery中的ready()方法很好的解決了上述問題,它能夠自動將其中的函數在頁面加載完成后運行,并且同一個頁面中可以使用多個ready()方法,而且不互相沖突。例如:

$(document).ready(function(){

$("table.datalist tr:nth-child(odd)").addClass("altrow");

});

對于上述代碼jQuery還提供了簡寫,可以省略其中的"(document).ready"部分,代碼如下:

$(function(){

$("table.datalist tr:nth-child(odd)").addClass("altrow");

});

 

4、創建DOM元素

利用DOM方法創建元素節點,通常需要將document.createElement()、document.createTextNode()、appendChild()配合使用,十分麻煩,而jQuery中使用"$"符號可以直接創建DOM元素。例如:

var  oNewP = $("<p>這是一個好故事</p>")

以上代碼等同于javascript中的如下代碼:

var  oNewP = document.createElement("p");// 新建節點

var oText = document.createTextNode("這是一個好故事");

oNewP.appendChild(oText);

 

另外,jQuery對象還提供了insertAfter()方法:

$(function(){ 

  var oNewP = $("<p>這是一個好故事</p>");// 創建DOM元素的JQuery對象

  oNewP.insertAfter("#myTarget");

});

<body>

<p id="myTarget">插入到這行文字之后</p>

<p>也就是插入到這行文字之前,但這行沒有id,也可能不存在</p>

</body>

 

5、自定義添加"$"

jQuery不能滿足所有用戶的所有需求,且有一些特殊的需求十分小眾,也不適合放到整個jQuery框架中,用戶可以自定義該方法。代碼如下:

$.fn.disable = function(){

  return this.each(function(){

    if(typeof this.disabled != "undefined") this.disabled = true;

  });

}

以上代碼首先設置"$.fn.disable",表明為"$"添加一個方法“disable()”,其中“$.fn”是擴展jQuery時所必須的,然后利用匿名函數定義這個方法,即用each()將調用這個方法的每個元素的disabled屬性均設置為true(如果該屬性存在)

 

6、解決"$"的沖突

如果其他框架也是用了“$",會引起沖突,jQuery同樣提供了noConflict()方法來解決"$"沖突問題:

jQuery.noConflict();

以上代碼可以使"$"按照其他javascript框架的方式運算,這時在jQuery中便不能再使用“$”,而必須使用jQuery,例如$("div p") 必須寫成jQuery("div p").


   1.接受一個CSS選擇器表達式和可選的選擇器上下文,返回一個包含了匹配的DOM元素的jQuery對象。例如:$('.p'),$('.p','.content');

   2.接受HTML代碼創建DOM元素。例如:$('<p></p>');

   3.封裝DOM元素為jQuery對象。例如:$(this);

   4.將普通對象封裝為jQuery對象,以便普通對象也可以調用jQuery對象的方法。例如:$(obj);

   5.給ready事件綁定監聽函數。例如:$(function(){});

   6.接受一個jQuery對象,返回該jQuery對象的副本。例如 $($('p'));

   7.創建一個空jQuery對象。例如$();


參數是一個function, 入口函數
$(domobj) 把dom對象轉換成jquery對象
參數是一個字符串,用來找對象

該文章在 2023/4/28 15:49:54 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩欧美精品一本在线播放 | 色综合久久88色综合天天 | 日韩在线视频一区二区三 | 在线观看午夜福利片日本 | 亚洲成AV人片女在线观看 | 亚洲性爱在线免费看 |