這是一個好故事")」;5、自訂方法以擴展jQuery;6、使用jQuery和其他函式庫;7、設定文件就緒處理程序。"/> 這是一個好故事")」;5、自訂方法以擴展jQuery;6、使用jQuery和其他函式庫;7、設定文件就緒處理程序。">

首頁 >web前端 >前端問答 >jquery中的$有啥作用

jquery中的$有啥作用

青灯夜游
青灯夜游原創
2023-01-28 15:06:352215瀏覽

作用有:1、作為jQuery包裝器,利用選擇器來選擇DOM元素,語法「$("選擇器")」;2、函數前綴,作為通用實用工具函數的命名空間的前綴,例「$.trim(sString);」;3、解決window.onload函數的衝突;4、創建DOM元素,例「$("e388a4556c0f65e1904146cc1a846bee這是個好故事5f557f62ae7ac7a14e0b1cb564790dfc") 」;5、自訂方法以擴充jQuery;6、使用jQuery和其他函式庫;7、設定文件就緒處理程序。

jquery中的$有啥作用

本教學操作環境:windows7系統、jquery3.6版本、Dell G3電腦。

1、作為jQuery包裝器,利用選擇器來選擇DOM元素

在CSS中選擇器的作用是選擇頁面中某一類(類別選擇器)元素或某一個元素(ID選擇器)

#,而jQuery中的"$"作為選擇器,同樣是選擇某一類或某一類元素,只不過jQuery提供了

更多更全面的選擇方式。並且為使用者處理了瀏覽器的相容問題

(1)CSS可以透過如下程式碼來選擇c1a436a314ed609750bd7c7d319db4da標記下包含的所有子標記3499910bf9dac5ae3c52d5ede7383485,然後新增對應的樣式風格

h2 a{
/添加CSS属性/
}

而在jquery中則可以透過以下程式碼來選取c1a436a314ed609750bd7c7d319db4da標記下包含的所有子標記3499910bf9dac5ae3c52d5ede7383485,作為一個物件數組,供javascript使用

$("h2 a")

(2) jquery中選擇器的通用語法如下:

$(selector)

jQuery(selector)

其中selector符合CSS3標準

(3)id選擇器,相當於javascript中的document.getElementById ("#showp“")

可以看到jQuery的表示方法簡潔很多

$("#showp“)

(3)類別選擇器,選擇CSS類別作為”SomeClass“的所有節點元素, 在javascript中要實現相同的選擇,

需要用for循環遍歷整個DOM

$(".SomeClass")

(4)選擇所有位於奇數行的e388a4556c0f65e1904146cc1a846bee標記, 幾乎所有的標記都可以使用" : odd" 或": even" 來實現奇偶的選擇

$("p : odd")

(5)所有表格行的第一個單元格,就是第一列。這在修改表格的某一列的屬性時是非常有用的。不再需要一行行遍歷表格

$("td:nth-child(1)")

(6)子選擇器,返回25edfb22a4f469ecb59f1190150159c6標記的所有子元素3499910bf9dac5ae3c52d5ede7383485,不包括孫標記

$("li > a")

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

# ("a[href=pdf]")

注意

在jQuery中美元符號"$"其實就等同於"jQuery",從jQuery的原始碼中可以看出

為了編寫程式碼的方便,通常都會採用"$"來取代"jQuery"

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.create TextNode()、

appendChild()搭配使用,十分麻煩,而jQuery中使用"$"符號可以直接建立DOM元素。例如

var oNewP = $("e388a4556c0f65e1904146cc1a846bee這是個好故事5f557f62ae7ac7a14e0b1cb564790dfc")

以上程式碼等同於javascript中的如下程式碼:

var oNewP = document.createElement("p");// 新建节点

var oText = document.createTextNode("这是一个好故事");

oNewP.appendChild(oText);

另外,jQuery也提供了DOM元素的insertAfter()方法,偽程式碼如下:

$(function(){           // ready函数

var oNewP = $("<p>这是一个好故事</>");// 创建DOM元素

oNewP.insertAfter("#myTarget");// insertAfter()方法

});

<body>

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

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

</body>

5.擴充jQuery--自訂新增"$"

#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和其他库

例如:Prototype库也是使用$符号,jQuery提供noConflict函数避免冲突,jQuery.noConflict();把$符号还原到非jQuery库定义的含义。

7、文档就绪处理程序,相当于$(document).ready(...)

例如:

$(function(){...}); //里面的函数会在DOM树加载完之后执行

扩展知识:解决"$"的冲突

如果其他框架也是用了“",会引起冲突,jQuery同样提供了noConflict()方法来解决""冲突问题

jQuery.noConflict();

以上代码可以使""按照其他javascript框架的方式运算,这时再jQuery中便不能在使用“”,而必须使用jQuery,

例如$("p p") 必须写成jQuery("p p").

【推荐学习:jQuery视频教程web前端视频

以上是jquery中的$有啥作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn