jQuery基礎與js的區別
jQuery初識
jQuery基礎知識
js的程式碼比較多而且有相容性,所以後面有團體把js進行了封裝,生成了js的庫叫jquery。
jQuery又是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript程式碼庫
jQuery入口函式
$(document).ready(function(){
// 執行程式碼
});
或者簡寫為:
$(function(){
// 執行程式碼
});
js入口函式:window.onload = function () {…}
jQuery選擇器
基本選擇器
- 標籤選擇器(元素選擇器)
語法:$("html標籤名")
獲得所有匹配標籤名稱的元素 - id選擇器
語法:$("#id的屬性值")
獲得與指定id屬性值匹配的元素 - 類選擇器
語法:$(".class的屬性值")
獲得與指定的class屬性值匹配的元素 - 並集選擇器:
語法:$("選擇器1,選擇器2....")
獲取多個選擇器選中的元素之和 - 全部選擇器
語法:$("*")
獲取此頁面中的所有元素
單個屬性設定:
$("#box").css("width","100px");
$("#box").css("height","100px");
$("#box").css("background-color","red");
多個屬性設定:
$("#box").css({
"width":"100px",
"height":"100px",
"background-color":"red"
})
層級選擇器
分為後代選擇器和子代選擇器
名稱 | 用法 |
---|---|
子代選擇器 | $(“ul>li”) |
後代選擇器 | $(“ul li”) |
- 後代選擇器
語法:$("A B ")
選擇A元素內部的所有B元素 - 子選擇器
語法:$("A > B")
選擇A元素內部的所有直接子元素B - 親弟弟選擇器
語法:$("A + B ")
選擇緊接在A元素之後同級B元素 - 弟弟選擇器
語法:$("A ~ B")
選擇A元素之後的所有同級B元素
屬性選擇器
-
屬性名稱選擇器
語法:$("A[屬性名]")
包含指定屬性的選擇器 -
屬性選擇器
語法:$("A[屬性名='值']")
包含指定屬性等於指定值的選擇器可選關係運算子: != :屬性值不等於該值 ^= :屬性值以該值開頭 $= :屬性值以該值結尾 *= :屬性值中包含該值
-
複合屬性選擇器
語法:$("A[屬性名='值'][]...")
包含多個屬性條件的選擇器,必須都符合
表單選擇器
- :input
- :text
- :password
- :radio
- :checkbox
- :submit
- :image
- :reset
- :button
- :file
篩選選擇器
<body>
<div id="box">
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
</div>
<script src="jquery.min.js"></script>
<script>$("li:eq(2)").css("color","red");</script>
</body>
</html>
JQuery操作DOM
屬性操作
1.使用attr()
獲取: 物件.attr(“屬性名”) //返回當前屬性值,底層使用的是getAttribute
注意:此種方式不能獲取value屬性的實時資料,使用物件名.val()進行獲取
修改:物件.attr(“屬性名”,“屬性值”);
刪除:removeAttr(“屬性名”) :刪除該屬性的值
2.使用prop()
使用方法同attr()一致,底層是property
3.attr和prop區別
如果操作的是元素的固有屬性,則建議使用prop,某些特定屬性attr獲取不到
如果操作的是元素自定義的屬性,則建議使用attr
內容操作
獲取:
- html(): 獲取元素內的標籤體內容 ,底層呼叫的innerHTML
- text(): 獲取元素的標籤體純文字內容 ,底層呼叫的innerText
- val(): 獲取元素的value屬性值
修改: - html(“新的內容”): 新的內容會將原有內容覆蓋,HTML標籤會被解析執行
- text(“新的內容”): 新的內容會將原有內容覆蓋,HTML標籤不會被解析執行
- val(“新的內容”): 設定元素的value屬性值
樣式操作
1、使用css()
物件.css(“屬性名”) //返回當前屬性的樣式值
物件.css(“屬性名”,“屬性值”) //增加、修改元素的樣式
物件.css({“樣式名”:“樣式值”,“樣式名”:“樣式值”……})//使用json傳參,提升程式碼書寫效率。
2、使用addClass()
物件.addClass(“類選擇器名”) //追加一個類樣式
物件.removeClass(“類選擇器名”) //刪除一個指定的類樣式
物件.toggleClass(“類選擇器名”): //切換class屬性
JS和jQuery的區別
1 定位元素
JS
document.getElementById(“abc”)
jQuery
$("#abc") 通過id定位
$(".abc") 通過class定位
$(“div”) 通過標籤定位
需要注意的是JS返回的結果是這個元素,jQuery返回的結果是一個JS的物件。以下例子中假設已經定位了元素abc。
2 改變元素的內容
JS
abc.innerHTML = “test”; //現在的專案中有用到
jQuery
abc.html(“test”);
3 顯示隱藏元素
JS
abc.style.display = “none”; //現在的專案中有用到
abc.style.display = “block”;
jQuery
abc.hide();
abc.show();
abc.toggle(); //在顯示和隱藏之間切換、
4 獲得焦點
JS和jQuery是一樣的,都是abc.focus();
5 為表單賦值
JS
abc.value = “test”;
jQuery
abc.val(“test”);
6 獲得表單的值
JS
alert(abc.value);
jQuery
alert(abc.val());
7 設定元素不可用
JS
abc.disabled = true;
jQuery
abc.attr(“disabled”, true);
8 修改元素樣式
JS
abc.style.fontSize=size;
jQuery
abc.css(‘font-size’, 20);
JS
abc.className=“test”;
JQuery
abc.removeClass();
abc.addClass(“test”);
9 判斷核取方塊是否選中
jQuery
if(abc.attr(“checked”) == “checked”)
注意:網上說的.attr(“checked”) == true實際上不能用,上面這個測試過能用
①.根據ID取元素
{
JS:取到的是一個DOM物件。
例:var div = document.getElementByID(“one”);
jQuery:取到的是一個JQUERY物件。
例:var div = $("#one");——括號裡面是根據某個東西來找,相當於一個選擇,如果我們要根據ID來找,在樣式表裡的ID是用#來表示的,所以在這裡我們直接帶入井號,整句的意思就是根據ID為one的來查詢。
}
②.根據class取元素,在陣列裡面如果要取DOM物件使用索引的方式,如果要取JQUERY物件使用eq()
{
JS:取到的是一個陣列
例:var div = document.ElementsByClassName(“test”);
JQUERY:
例:var div = $(".test");
}
③.根據name取元素
{
JS:返回的是一個陣列
例:var bd = document.getElementsByName(uid);
JQUERY:的方式是用 方括號,屬性=一個值,不限制非要根據name來取值,JQUERY是根據屬性來取元素
例:$("[name=‘uid’]");
}
④.根據標籤名取元素
{
JS:返回的也是一個陣列
例:var div = document.getElementsByTagName(“div”);
JQUERY:和樣式表裡面給所有div加樣式的方法一樣,在雙引號內直接寫標籤名
例:$(“div”);
}
附:JQUERY的其他取值方式
組合選取:var div = $(“div span”);——有很多組合方式
操作內容
①.非表單元素(如果是文字就用text方法,如果是html程式碼就用html方法)
{
例:div.text();——無引數的情況下是取值
div.text(“aaaa”);——有引數的情況下是賦值
div.html();——無引數的情況下是取值
div.html(“aaaa”);——有引數的情況下是賦值
}
②.表單元素
{
JS:div.value;——取值;div.value = xxx;——賦值
JUQERY:div.val();——無引數是取值,有引數是賦值。
}
操作屬性
JS裡面用來操作屬性的方法是
div.setAttribute("","");——設定屬性、修改屬性
div.removeAttribute("");——移除屬性,引號裡面寫一個屬性名
div.getAttribute();——獲取屬性
JQUERY裡面用來操作屬性的方法
新增屬性:div.attr(“test”,“aa”);——給這個attr方法加入引數,屬性名叫做test,屬性的值是aa
移除屬性:div.removeAttr(“test”);——移除test這條屬性
獲取屬性:div.attr(“test”);——在attr方法裡面直接寫入一個屬性的名就可以了
操作樣式
JS裡面操作樣式的關鍵字是style
例:div.style.backgroundColor = “red”;——把這個div的背景色設定成為了紅色
JQUERY裡面操作樣式的關鍵字是css
例:div.css(“background-color”,“yellow”);——把這個div的背景色變為黃色,在這裡CSS裡面所有的樣式和css樣式表裡面的樣式是一模一樣的沒有任何變化
JS操作樣式的方法只能獲取內聯樣式,不能取內嵌的和外部的樣式。
相關文章
- JQuery的ready函式與JS的onload的區別jQuery函式JS
- Java基礎-- ==號與equals()方法的區別Java
- jQuery中onload與ready區別jQuery
- 『Java 語法基礎』a = a + b 與 a += b 的區別Java
- jquery $(this) 和this的區別jQuery
- JQuery this和$(this)的區別jQuery
- jquery中append()方法與after()方法的區別jQueryAPP
- 『Java 語法基礎』String、StringBuffer 與 StringBuilder 的區別JavaUI
- (JS基礎)String 型別JS型別
- jQuery基礎jQuery
- js中 let 與 var 的區別JS
- js中!和!!的區別與用法JS
- jQuery與JavaScript與ajax三者的區別與聯絡jQueryJavaScript
- 前端基礎之jQuery基礎前端jQuery
- 新知識:jQuery語法基礎與操作jQuery
- 在JavaScript中,DOM物件與jQuery物件的區別與轉換JavaScript物件jQuery
- vue中 lang="ts"與js的區別VueJS
- jQuery基礎教程jQuery
- jQuery基礎 效果jQuery
- jQuery基礎2jQuery
- jQuery的html()和text()區別jQueryHTML
- jquery prop和attr的區別jQuery
- 基礎-JAVA集合型別主要區別Java型別
- 【js迴圈語句】for與while的區別JSWhile
- JQ操作類與JS操作類的區別JS
- 專線網路與家庭寬頻區別(基礎篇)
- C#基礎之==(雙等於號)與equals()區別C#
- 基礎才是重中之重~lock和monitor的區別
- Java基礎- ==和equals和hashCode的區別Java
- jQuery基礎總結jQuery
- jQuery基礎學習jQuery
- jQuery 基礎語法jQuery
- jQuery基礎語法jQuery
- jquery中prop和attr的區別jQuery
- Jquery中attr和prop的區別jQuery
- 使用jquery和使用框架的區別jQuery框架
- 前端基礎(一):js資料型別前端JS資料型別
- JS 基礎型別之裝箱操作JS型別