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

$("a").after($("#test"));
}

append(html)在匹配元素內(nèi)部,且末尾插入指定html
$("#test").append("<b>Hello</b>");
}
appendTo(expr) 與append(elem)相反

$("a"). appendTo ($("#test"));
}
clone() 復(fù)制一個(gè)jQuery對(duì)象
$("#test").clone().appendTo($("a"));
}
empty() 刪除匹配對(duì)象的所有子節(jié)點(diǎn)





$("#test").empty();
}
insertAfter(expr) insertBefore(expr)
按照官方的解釋和我的幾個(gè)簡(jiǎn)單測(cè)試insertAfter(expr)相當(dāng)于before(elem),insertBefore(expr)相當(dāng)于after (elem)
prepend (html) prepend (elem) prepend (elems) 在匹配元素的內(nèi)部且開(kāi)始出插入
通過(guò)下面例子區(qū)分append(elem) appendTo(expr) prepend (elem)
<div>div</div>
<div>div</div>
</p>
div
<p id="a">p</p>
</div>
<div>div</div>
</p>
remove() 刪除匹配對(duì)象
注意區(qū)分empty(),empty()移出匹配對(duì)象的子節(jié)點(diǎn),remove(),移出匹配對(duì)象
wrap(htm) 將匹配對(duì)象包含在給出的html代碼內(nèi)
$("p").wrap("<div class='wrap'></div>");
}
wrap(elem) 將匹配對(duì)象包含在給出的對(duì)象內(nèi)
<a href="#" onClick="jq()">jQuery</a>
$("p").wrap( document.getElementById('content') );
}
執(zhí)行后相當(dāng)于
遍歷、組合
add(expr) 在原對(duì)象的基礎(chǔ)上在附加符合指定表達(dá)式的jquery對(duì)象
<a href="#" onClick="jq()">jQuery</a>
var f=$("p").add("span");
for(var i=0;i < $(f).size();i++){
alert($(f).eq(i).html());}
}
add(el) 在匹配對(duì)象的基礎(chǔ)上在附加指定的dom元素。
$("p").add(document.getElementById("a"));
add(els) 在匹配對(duì)象的基礎(chǔ)上在附加指定的一組對(duì)象,els是一個(gè)數(shù)組。

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

alert($("p").contains("test").html());
}
end() 結(jié)束操作,返回到匹配元素清單上操作前的狀態(tài).
filter(expr) filter(exprs) 過(guò)濾現(xiàn)實(shí)匹配符合表達(dá)式的對(duì)象 exprs為數(shù)組,注意添加“[ ]”
alert($("p").filter(".selected").html())
}
find(expr) 在匹配的對(duì)象中繼續(xù)查找符合表達(dá)式的對(duì)象
alert($("p").find("#a").html())
}
is(expr) 判斷對(duì)象是否符合表達(dá)式,返回boolen值
alert($("#a").is("p"));
}
大家可以用$("#a").is("div"); ("#a").is("#a")多來(lái)測(cè)試一下
next() next(expr) 返回匹配對(duì)象剩余的兄弟節(jié)點(diǎn)
alert($("p").next().html());
alert($("p").next(".selected").html());
}
$("p").next(".selected)只返回 [<p class="selected">And Again</p> ]一個(gè)對(duì)象
prev () prev (expr) 參照next理解
not(el) not(expr) 從jQuery對(duì)象中移出匹配的對(duì)象,el為dom元素,expr為jQuery表達(dá)式。
<a href="#" onclick="js()">jQuery</a>
alert($("p").not(document.getElementById("a")).html());
alert($("p").not(“#a”).html());
}
siblings () siblings (expr) jquery匹配對(duì)象中其它兄弟級(jí)別的對(duì)象
<div>
<p id="a">two</p>
</div>
<a href="#" onclick="js()">jQuery</a>
alert($("div").siblings().eq(1).html());
}
alert($("div").siblings(“a”)返回一個(gè)對(duì)象[<a href="#" onclick="js()">jQuery</a> ]
其他
addClass(class) 為匹配對(duì)象添加一個(gè)class樣式
removeClass (class) 將第一個(gè)匹配對(duì)象的某個(gè)class樣式移出
attr (name) 獲取第一個(gè)匹配對(duì)象的屬性
alert($("img").attr("src"));
}
attr (prop) 為第一個(gè)匹配對(duì)象的設(shè)置屬性,prop為hash對(duì)象,用于為某對(duì)象批量添加眾多屬性
$("img").attr({ src: "test.jpg", alt: "Test Image" });
}
attr (key,value) 為第一個(gè)匹配對(duì)象的設(shè)置屬性,key為屬性名,value為屬性值
$("img").attr(“src”,”test.jpg”);
}
removeAttr (name) 將第一個(gè)匹配對(duì)象的某個(gè)屬性移出
$("img"). removeAttr("alt");
}
toggleClass (class) 將當(dāng)前對(duì)象添加一個(gè)樣式,不是當(dāng)前對(duì)象則移出此樣式,返回的是處理后的對(duì)象
$("p").toggleClass("selected")的結(jié)果是實(shí)返回對(duì)象 [ <p class="selected">Hello</p>, <p>Hello Again</p> ]
相關(guān)文章
JQuery 簡(jiǎn)便實(shí)現(xiàn)頁(yè)面元素?cái)?shù)據(jù)驗(yàn)證功能
JQuery 簡(jiǎn)便實(shí)現(xiàn)頁(yè)面元素?cái)?shù)據(jù)驗(yàn)證功能...2007-03-03jQuery實(shí)現(xiàn)簡(jiǎn)單彈窗遮罩效果
本文主要介紹了jquery實(shí)現(xiàn)簡(jiǎn)單彈窗遮罩效果的實(shí)例,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02jquery遍歷table的tr獲取td的值實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇jquery遍歷table的tr獲取td的值實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05jQuery實(shí)現(xiàn)的多屏圖像圖層切換效果實(shí)例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的多屏圖像圖層切換效果,可實(shí)現(xiàn)多個(gè)圖層的點(diǎn)擊切換效果,設(shè)計(jì)jQuery鼠標(biāo)事件及樣式的操作技巧,需要的朋友可以參考下2015-05-05jQuery基于ajax實(shí)現(xiàn)帶動(dòng)畫(huà)效果無(wú)刷新柱狀圖投票代碼
這篇文章主要介紹了jQuery基于ajax實(shí)現(xiàn)帶動(dòng)畫(huà)效果無(wú)刷新柱狀圖投票代碼,通過(guò)使用jquery動(dòng)態(tài)操作頁(yè)面元素樣式屬性實(shí)現(xiàn)柱狀圖投票效果,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08jQuery實(shí)現(xiàn)鼠標(biāo)可拖動(dòng)調(diào)整表格列寬度
這篇文章主要介紹了通過(guò)jQuery實(shí)現(xiàn)鼠標(biāo)可拖動(dòng)調(diào)整表格列寬度,需要的朋友可以參考下2014-05-05