|
我們以<img id="a" scr="5.jpg"/>為例,在原始的Javascript里面可以用var o=document.getElementById('a')取的id為a的節(jié)點對象,在用o.src來取得或修改該節(jié)點的scr屬性,在jQuery里$("#a")將得到j(luò)Query對象[ <img id="a" scr="5.jpg"/> ],然后可以用jQuery提供的很多方法來進行操作,如$("#a").scr()將得到5.jpg,$("#a").scr("1.jpg")將該對象src屬性改為1,jpg。下面我們來講jQuery提供的眾多jQuery方法,方便大家快速對DOM對象進行操作
herf() herf(val)
說明:對jQuery對象屬性herf的操作。
例子:
未執(zhí)行jQuery前 <a href="1.htm" id="test" onClick="jq()">jQuery</a>jQuery代碼及功能: function jq(){
alert($("#test").href());
$("#test").href("2.html");
}運行:先彈出對話框顯示id為test的連接url,在將其url改為2.html,當彈出對話框后會看到轉(zhuǎn)向到2.html
同理,jQuery還提供類似的其他方法,大家可以分別試驗一下:
herf() herf(val) html() html(val) id() id (val) name() name (val) rel() rel (val)
src() src (val) title() title (val) val() val(val)
操作
after(html) 在匹配元素后插入一段html <a href="#" id="test" onClick="jq()">jQuery</a>jQuery代碼及功能: function jq(){
$("#test").after("<b>Hello</b>");
}執(zhí)行后相當于: <a href="#" id="test" onClick="jq()">jQuery</a><b>Hello</b>
after(elem) after(elems) 將指定對象elem或?qū)ο蠼Melems插入到在匹配元素后

$("a").after($("#test"));
}執(zhí)行后相當于

append(html)在匹配元素內(nèi)部,且末尾插入指定html <a href="#" id="test" onClick="jq()">jQuery</a>jQuery代碼及功能: function jq(){
$("#test").append("<b>Hello</b>");
}執(zhí)行后相當于 <a href="#" onClick="jq()">jQuery<b>Hello</b></a>同理還有append(elem) append(elems) before(html) before(elem) before(elems)請執(zhí)行參照append和after的方來測試、理解!
appendTo(expr) 與append(elem)相反

$("a"). appendTo ($("#test"));
}執(zhí)行后相當于 <p id="test">after<a href="#" onClick="jq()">jQuery</a> </p>
clone() 復(fù)制一個jQuery對象 <p id="test">after</p><a href="#" onClick="jq()">jQuery</a>jQuery代碼及功能: function jq(){
$("#test").clone().appendTo($("a"));
}復(fù)制$("#test")然后插入到<a>后,執(zhí)行后相當于 <p id="test">after</p><a href="#" onClick="jq()">jQuery</a><p id="test">after</p>
empty() 刪除匹配對象的所有子節(jié)點





$("#test").empty();
}執(zhí)行后相當于 <div id="test"></div><a href="#" onClick="jq()">jQuery</a>
insertAfter(expr) insertBefore(expr)
按照官方的解釋和我的幾個簡單測試insertAfter(expr)相當于before(elem),insertBefore(expr)相當于after (elem)
prepend (html) prepend (elem) prepend (elems) 在匹配元素的內(nèi)部且開始出插入
通過下面例子區(qū)分append(elem) appendTo(expr) prepend (elem) <p id="a">p</p>
<div>div</div>執(zhí)行$("#a").append($("div")) 后相當于 <p id="a">
<div>div</div>
</p>執(zhí)行$("#a").appendTo($("div")) 后 相當于 <div>
div
<p id="a">p</p>
</div>執(zhí)行$("#a").prepend ($("div")) 后 相當于 <p id="a">
<div>div</div>
</p>
remove() 刪除匹配對象
注意區(qū)分empty(),empty()移出匹配對象的子節(jié)點,remove(),移出匹配對象
wrap(htm) 將匹配對象包含在給出的html代碼內(nèi) <p>Test Paragraph.</p> <a href="#" onClick="jq()">jQuery</a>jQuery代碼及功能: function jq(){
$("p").wrap("<div class='wrap'></div>");
}執(zhí)行后相當于 <div class='wrap'><p>Test Paragraph.</p></div>
wrap(elem) 將匹配對象包含在給出的對象內(nèi) <p>Test Paragraph.</p><div id="content"></div>
<a href="#" onClick="jq()">jQuery</a>jQuery代碼及功能: function jq(){
$("p").wrap( document.getElementById('content') );
}執(zhí)行后相當于 <div id="content"><p>Test Paragraph.</p></div>
遍歷、組合
add(expr) 在原對象的基礎(chǔ)上在附加符合指定表達式的jquery對象 <p>Hello</p><p><span>Hello Again</span></p>
<a href="#" onClick="jq()">jQuery</a>jQuery代碼及功能: function jq(){
var f=$("p").add("span");
for(var i=0;i < $(f).size();i++){
alert($(f).eq(i).html());}
}執(zhí)行$("p")得到匹配<p>的對象,有兩個,add("span")是在("p")的基礎(chǔ)上加上匹配<span >的對象,所有一共有3個,從上面的函數(shù)運行結(jié)果可以看到$("p").add("span")是3個對象的集合,分別是[<p>Hello</p>],[<p><span>Hello Again</span></p>],[<span>Hello Again</span>]。
add(el) 在匹配對象的基礎(chǔ)上在附加指定的dom元素。
$("p").add(document.getElementById("a"));
add(els) 在匹配對象的基礎(chǔ)上在附加指定的一組對象,els是一個數(shù)組。

var f=$("p").add([document.getElementById("a"), document.getElementById("b")])
for(var i=0;i < $(f).size();i++){
alert($(f).eq(i).html());}
}注意els是一個數(shù)組,這里的[ ]不能漏掉。
ancestors () 一依次以匹配結(jié)點的父節(jié)點的內(nèi)容為對象,根節(jié)點除外(有點不好理解,看看下面例子就明白了) <div>
<p>one</p>
<span>
<u>two</u>
</span>
</div>jQuery代碼及功能: function jq(){
var f= $("u").ancestors();
for(var i=0;i < $(f).size();i++){
alert($(f).eq(i).html());}
}第一個對象是以<u>的父節(jié)點的內(nèi)容為對象,[ <u>two</u> ]
第一個對象是以<u>的父節(jié)點的父節(jié)點(div)的內(nèi)容為對象,[<p>one</p><span><u>two</u></span> ]
一般一個文檔還有<body>和<html>,依次類推下去。
ancestors (expr) 在ancestors()的基礎(chǔ)上之取符合表達式的對象
如上各例子講var f改為var f= $("u").ancestors(“div”),則只返回一個對象:
[ <p>one</p><span><u>two</u></span> ]
children() 返回匹配對象的子介點 <p>one</p>
<div id="ch">
<span>two</span>
</div>jQuery代碼及功能: function jq(){
alert($("#ch").children().html());
}$("#ch").children()得到對象[ <span>two</span> ].所以.html()的結(jié)果是”two”
children(expr) 返回匹配對象的子介點中符合表達式的節(jié)點 <div id="ch">
<span>two</span>
<span id="sp">three</span>
</div>jQuery代碼及功能 function jq(){
alert($("#ch").children(“#sp”).html());
}$("#ch").children()得到對象[<span>two</span><span id="sp">three</span> ].
$("#ch").children(“#sp”)過濾得到[<span id="sp">three</span> ]
parent () parent (expr)取匹配對象父節(jié)點的。參照children幫助理解
contains(str) 返回匹配對象中包含字符串str的對象

alert($("p").contains("test").html());
}$("p")得到兩個對象,而包含字符串”test”只有一個。所有$("p").contains("test")返回 [ <p>This is just a test.</p> ]
end() 結(jié)束操作,返回到匹配元素清單上操作前的狀態(tài).
filter(expr) filter(exprs) 過濾現(xiàn)實匹配符合表達式的對象 exprs為數(shù)組,注意添加“[ ]” <p>Hello</p><p>Hello Again</p><p class="selected">And Again</p>jQuery代碼及功能: function jq(){
alert($("p").filter(".selected").html())
}$("p")得到三個對象,$("p").contains("test")只返回class為selected的對象。
find(expr) 在匹配的對象中繼續(xù)查找符合表達式的對象 <p>Hello</p><p id="a">Hello Again</p><p class="selected">And Again</p>Query代碼及功能: function jq(){
alert($("p").find("#a").html())
}在$("p")對象中查找id為a的對象。
is(expr) 判斷對象是否符合表達式,返回boolen值 <p>Hello</p><p id="a">Hello Again</p><p class="selected">And Again</p>Query代碼及功能: function jq(){
alert($("#a").is("p"));
}在$("#a ")是否符合jquery表達式。
大家可以用$("#a").is("div"); ("#a").is("#a")多來測試一下
next() next(expr) 返回匹配對象剩余的兄弟節(jié)點 <p>Hello</p><p id="a">Hello Again</p><p class="selected">And Again</p>jQuery代碼及功能 function jq(){
alert($("p").next().html());
alert($("p").next(".selected").html());
}$("p").next()返回 [ <p id="a">Hello Again</p> , <p class="selected">And Again</p> ]兩個對象
$("p").next(".selected)只返回 [<p class="selected">And Again</p> ]一個對象
prev () prev (expr) 參照next理解
not(el) not(expr) 從jQuery對象中移出匹配的對象,el為dom元素,expr為jQuery表達式。 <p>one</p><p id="a">two</p>
<a href="#" onclick="js()">jQuery</a>jQuery代碼及功能: function js(){
alert($("p").not(document.getElementById("a")).html());
alert($("p").not(“#a”).html());
}$("p")由兩個對象,排除后的對象為[<p>one</p> ]
siblings () siblings (expr) jquery匹配對象中其它兄弟級別的對象 <p>one</p>
<div>
<p id="a">two</p>
</div>
<a href="#" onclick="js()">jQuery</a>jQuery代碼及功能: function js(){
alert($("div").siblings().eq(1).html());
}$("div").siblings()的結(jié)果實返回兩個對象[<p>one</p>,<a href="#" onclick="js()">jQuery</a> ]
alert($("div").siblings(“a”)返回一個對象[<a href="#" onclick="js()">jQuery</a> ]
其他
addClass(class) 為匹配對象添加一個class樣式
removeClass (class) 將第一個匹配對象的某個class樣式移出
attr (name) 獲取第一個匹配對象的屬性 <img src="test.jpg"/><a href="#" onclick="js()">jQuery</a> jQuery代碼及功能: function js(){
alert($("img").attr("src"));
}返回test.jpg
attr (prop) 為第一個匹配對象的設(shè)置屬性,prop為hash對象,用于為某對象批量添加眾多屬性 <img/><a href="#" onclick="js()">jQuery</a>jQuery代碼及功能: function js(){
$("img").attr({ src: "test.jpg", alt: "Test Image" });
}運行結(jié)果相當于<img src="test.jpg" alt="Test Image"/>
attr (key,value) 為第一個匹配對象的設(shè)置屬性,key為屬性名,value為屬性值 <img/><a href="#" onclick="js()">jQuery</a>jQuery代碼及功能 function js(){
$("img").attr(“src”,”test.jpg”);
}運行結(jié)果相當于<img src="test.jpg"/>
removeAttr (name) 將第一個匹配對象的某個屬性移出 <img alt="test"/><a href="#" onclick="js()">jQuery</a>jQuery代碼及功能: function js(){
$("img"). removeAttr("alt");
}運行結(jié)果相當于<img />
toggleClass (class) 將當前對象添加一個樣式,不是當前對象則移出此樣式,返回的是處理后的對象 <p>Hello</p><p class="selected">Hello Again</p><a href="#" onclick="js()">jQuery</a>$("p")的結(jié)果是返回對象 [<p>Hello</p>,<p class="selected">Hello Again</p> ]
$("p").toggleClass("selected")的結(jié)果是實返回對象 [ <p class="selected">Hello</p>, <p>Hello Again</p> ]
JavaScript技術(shù):jQuery使用手冊之二 DOM操作,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。