Posted in Javascript onJuly 23, 2009
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="js/jquery-1.3.2.js" ></script> <script type="text/javascript"><!-- $(function(){ $("#aDescendant").click(function(){ $("#Result").html(""); $("#div1 ul").each(function(){ $("#Result").html($("#Result").html() + $(this).html() + "," ); }) }) $("#aChild").click(function(){ $("#Result").html(""); $("#div1 > li").each(function(){ $("#Result").html($("#Result").html() + $(this).attr("id") + "," ); }) }) $("#aNext").click(function(){ $("#Result").html(""); $("label + input").each(function(){ $("#Result").html($("#Result").html() + $(this).attr("value") + ","); }) }) $("#aSibling").click(function(){ $("#Result").html(""); $("#input1 ~ label").each(function(){ $("#Result").html($("#Result").html() + $(this).html() + ","); }) }) }) // --></script> </head> <body> <div id="div1"> <li id="l1"> <ul>1</ul> <ul>2</ul> <ul>3</ul> <ul>4</ul> </li> <li id="l2"> <ul>一</ul> <ul>二</ul> <ul>三</ul> <ul>四</ul> </li> <label>Label1</label> <input id="input1" value="input1" /> <input /> <label>Label2</label> <label>Label4</label> </div> <div> <label>Label3</label> <div style="border:1px solid #000" ></div> <input id="input2" value="input2"/> </div> <label>Label4</label><br /> <a href="#" id="aDescendant">显示DIV的后序结点ID</a> <a href="#" id="aChild">显示DIV的子LI结点</a> <a href="#" id="aNext">显示位于Label下一个input元素的value值</a> <a href="#" id="aSibling">显示于input1元素同级的label元素内容</a> <br /> Result: <br /> <div id="Result"> </div> </body> </html>
先对上面代码中的课外知识点说明下
1.element.attr("attributeName")
描述:此方法用户获取某element元素的某个属性值,如例子中
$("#div1 > li").each(function(){
$("#Result").html($("#Result").html() + $(this).attr("id") + "," );
})
功能就是获取当前遍历到的element对象的id值;
好了,现在开始来介绍本章的内容吧。本章主要讲的就是JQuery里如果去选择某个结点的子结点、兄弟结点等,不浪费时间啦,哈,现在进入正题
1.$("Selector descendant")
描述:此方法主要用于获取“Selector”选择器(注:此选择器为上一章讲的几个的任意一种)选择的Element对象或集合的子孙结点,就像例子中
$("#aDescendant").click(function(){
$("#Result").html("");
$("#div1 ul").each(function(){
$("#Result").html($("#Result").html() + $(this).html() + "," );
})
})
功能就是获取id为div1元素的子孙节点里"ul"节点的HTMl内容,若“Selector”选择器返回的是个集合,则获取的子孙结点就是这个集合里,每个element匹配的子孙节点的集合
返回值:Array(Element);
2.$("Selector>child")
描述:此方法与上一个方法类似,主要区别就是上个方法能获取所有的子孙节点,而这方法只能获取奇直属的子节点(多个“>”号就代表是直属的嘛^^),在此就不多说了,哈,其它都跟上一个一样
返回值:Array(Element);
3.$("Selector + next")
描述:用于获取所有位于Selector后面的next元素,如例子中
$("#aNext").click(function(){
$("#Result").html("");
$("label + input").each(function(){
$("#Result").html($("#Result").html() + $(this).attr("value") + ",");
})
})
获取所有位于label元素后面的input元素,在例子中,只有input1位于Label1下个节点,input2与Label3两者隔了个div节点,所以不配合。
返回值:Array(Element);
4.$("Selector ~ Sibling")
描述:与上一个方法类似,主要区别是此方法匹配的是位于Selector之后的所有同级的Sibling结点,无论中间是否有隔其它结点,在这也不明说啦,呵
返回值:Array(Element);
JQuery 学习笔记 选择器之二
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@