牛叉的Jquery——Jquery與DOM對象的互相轉換及DOM的三種操作,jquerydom
只有jQuery對象才能調用jQuery類庫的各種函數,同樣有些dom對象的屬性和方法在jQuery上也是無法調用的,不過基本上jQuery類庫提供的函數包含了所有的dom操作。這就需要我們知道如何將jQuery對象和DOM的相互轉換的方法。
1.jQuery對象就是通過jQuery封裝DOM對象後產生的對象。
2.jQuery對象和DOM對象的相互轉換。
良好的書寫風格:
複製代碼 代碼如下:
var $input=$("input")
jQuery擷取的對象在變數前面加上$。
<1>jQUery對象轉成DOM對象,兩種方法:[index]和get(index)
a:var $cr=$("#cr") //jQuery對象
var cr=$cr[0] //DOM對象
b:var $cr=$("#cr") //jQuery對象
var cr=$cr.get(0); //DOM對象
<2>DOM對象轉成jQuery對象
var cr=document.getElementById("cr"); //DOM對象
var $cr=$(cr);
3.解決與其他庫的衝突
jQuery.noConflict()。
jQuery用$作為自身的捷徑。
4.使用jQuery的優點
<1>簡潔的寫法
<2>支援CC1到CCS3
<3>完善的處理機制
運行上面的代碼瀏覽器就會報錯!
但是如果這麼寫的話:
複製代碼 代碼如下:
$('#tt').css("color","red");
瀏覽器不會因為沒有這個元素而報錯!
5.jQuery選取器
jQuery選取器是jQuery的重中之重!
jQuery過濾選取器與CSS中的偽類別選取器相似。
<1>偶數與奇數選取器
偶數:$("tr:even")
奇數:$("tr:odd")
<2>CSS3 偽類別選取器奇偶數
複製代碼 代碼如下:
p:nth-child(odd)
{
background:#ff0000;
}
p:nth-child(even)
{
background:#0000ff;
}
<2>表單類型選取器
<3>轉義選取器防止出錯
6.DOM操作分類(1:DOM Core 2.HTML-DOM 3.CSS-DOM)
1.DOM Core
DOM Core並不專屬於JavaScript,任何一種支援DOM的程式設計語言都可以使用它。它的用途並不僅限於處理網頁。也可以用來處理任何一種使用標記語言編寫出來的文檔,例如:XML。
2.HTML_DOM
在使用JavaScript和DOM為HTML檔案編寫指令碼時,有許多專屬於HTML——DOM的屬性。
HTML_DOM提供了一些更加簡明的記號來描述各種HTML元素的屬性。
如:
複製代碼 代碼如下:
document.forms
element.src
只能用於WEB
3.CSS_DOM
CSS_DOM是針對CSS的操作。主要是擷取和設定style對象的各種屬性。
通過改變style對象的各種屬性。改變不同效果。
複製代碼 代碼如下:
element.style.color=“red”;
7.遍曆節點
1.children()
2.next()
3.prev()
4.siblings()
5.closest()
8.jquey的css
<1>可以使用opacity設定透明度,jQuery已經處理好了相容性問題。
$("p").css("opacity","0.5");
<2>$("p").height(100) //100預設單位是px,如果要用別的單位,必須要用字串
<3>offset()方法
返回相對視窗的位移
複製代碼 代碼如下:
var offset=$("p").offset();
var left=offset.left;
var top=offset.top;
<4>position()
複製代碼 代碼如下:
//返回相對最近一個position樣式的位移。
var position=$("p").position();
var left=position.left;
var top=position.top;
<5>scrollTop()和scrollLeft()
複製代碼 代碼如下:
//返復原動條距離頂端的距離與距離左側的距離。
var $p=$("p");
var top=$p.scrollTop();
var left=$p.scrollLeft();
//同樣可以設定滾動到指定位置:
$("ab").scrollTop(300);
<6>pageX與pageY,擷取滑鼠在頁面上的位置
複製代碼 代碼如下:
$(document).mousemove(function(e){
$("span").text("X: " + e.pageX + ", Y: " + e.pageY);
});