一、jQuery物件與JavaScript物件
①JavaScript入口函式比jQuery入口函式執行的晚一些;
JQuery的入口函式會等頁面載入完成才執行,但是不會等待圖片的載入;
JavaScript入口函式需要等待頁面載入和圖片載入完成才執行;
JavaScript入口函式:window.onload = function(){};
JQuery入口函式:①$(document).ready(function(){});
②$(function(){});
②JQuery物件與Dom(JavaScript物件)物件的區別:
DOM物件:使用JavaScript方式獲取到的元素是DOM物件。
JQuery物件:使用JQuery方式獲取到的元素是JQuery物件。
③JQuery物件與DOM物件的聯絡:
1、JQuery物件其實就是JavaScript物件的集合,JQuery物件裡面存放了一大堆JavaScript物件。
2、JQuery物件不能與Dom物件相互呼叫{$(“li”).setAttribute(“name”,”he”); //程式碼報錯
document.getElementById(“section”).show();//程式碼報錯
}
3、DOM物件轉JQuery物件:
var cloth = document.getElementById(“cloth”); //這是DOM物件
$(cloth).innerText(“測試”);
JQuery物件轉DOM物件:
var $li = $(“li”);
$li[0].style.backgroundColor = “red”; //利用取下標的方式將JQuery物件轉換成DOM物件
或者$li.get(0).style.backgroundColor = “red”; //利用get()方法也能達到同樣效果
二、JQuery常用方法
①index()方法:返回當前元素在所有兄弟元素當中的索引
<li><a>1</a></li>
<li><a>2</a></li>
<li><a>3</a></li>
$(function(){
$(“li”).click(function(){
console.log($(this).index());
});
});
②CSS操作
隱式迭代:設定操作的時候會給JQuery內部的所有物件都設定上相同的值,獲取的時候只返回第一個元素對應的值。
addClass():新增一個類,不影響之前存在的類。
removeClass():移除一個類。
hasClass():判斷一個類是否存在。
toggleClass():切換類,如果類存在就移除,沒有就新增。
③屬性操作
attr(name,value):使用方法$(“img”).attr(“alt”,”圖片不存在”);
對於布林值型別的屬性,不使用attr()放法,應該使用prop()放法,用法與attr()一樣。
④動畫操作
show(): 可以傳引數,也可不傳引數;不傳引數則沒有動畫效果,引數可以是好毫秒值,也可以是字串:fast=200ms、normal=40ms、slow=60ms。
hide():隱藏。
slideDown():向上滑入可接收兩個引數,slideDown(1000,function(){})。
slideUp():向上滑出。
slideToggle():如果是滑入狀態就滑出,反之。
fadeIn():淡入。
fadeOut():淡出。
fadeToggle():切換淡入淡出。
自定義動畫animate()
1、第一個引數,必填:是一個物件,需要動畫的樣式。
2、第二個引數:執行時間。
3、第三個引數:動畫執行效果。
4、第四個引數:回撥函式。
stop()方法:停止當前執行的動畫,一般寫在動畫前面停止別人的動畫立即執行自己的動畫。
1、例如:.stop.slideDown(); //立即執行slideDown()
2、第一個引數:是否清除動畫佇列,ture是;false否。
3、第二個引數:是否跳轉到當前動畫的最終狀態效果:true是,false否。
音樂播放是DOM物件,不能呼叫eq(),需要使用get()獲取。
⑤建立JQuery物件直接將標籤寫在$()中,JavaScript中使用creatElement建立物件。
append():新增節點到子元素的最後面。
prepend():新增節點到子元素的最前面。
appendTo():把節點新增到父元素中,引數是父元素。
perpendTo():把節點新增到父元素中的最前面,引數是父元素。
after():新增到父元素的後面。
before():新增到父元素的前面。
empty():清空一個元素的內容,並且會把對應的事件也清空。
html(“”):把元素內容設定為空,不會清除內容上的事件。
remove():刪除節點,與empty()是清除子節點;remove是清除自己和後代節點。
clone(): 引數false不會複製內容繫結事件,true同時複製內容繫結事件。
val():獲取標籤中的內容。
html(): 可以識別標籤,效果與JavaScript中的innerHTML方法相同。
text():不能識別標籤,效果與JavaScript中innerText相同。
width():獲取盒子的寬度。
height():獲取盒子的高度。
innerWidth():獲取padding+width的值。
outerWidth():獲取padding+width+border的總值。如果這個方法中傳入引數true就獲取padding+width+border+margin的值。
scrollTop()與scrollLeft()設定或者獲取垂直滾動條的位置。
offset():獲取元素相對於document的位置。
position():獲取元素相對於有定位的父元素的位置。