使用js或jquery尋找父元素、子元素經常遇到。可是用起來總是容易混淆,這裡統一總結了一下,以後用起來相信會方便好多
這裡jquery向上查找父元素用到的方法:closest() parents() parent()
向下找子元素用到的方法:find() children()
js用的是children[] 屬性
html程式碼
jquery查找父元素子元素 段落1 找出父元素
11closest()向上尋找最近的元素(傳回零個或一個元素的jQuery 物件) |
21parent()方法 |
31parent("選擇器")方法 |
段落2 找出子元素
查找table2的td find()方法 |
查找table2的td children( )方法 |
js的children[]屬性來找出 |
tbody2222 |
js程式碼:
<script> <br><br>$(function (){ <BR>/************ 尋找父元素 *************/ <BR>//closest()方法<BR>$("#mytd1").bind("click",function(){ <BR>//alert ($(this).html()); <BR>alert($(this).closest("table").attr("id")); //table1而不是table0 <BR>//alert($ (this).closest("table").html()); <BR>}); <br><br>//parent()方法<BR>$("#mytd2").bind("click" ,function(){ <BR>//alert($(this).html()); //$(this).html()是21 (this).attr("id")是mytd2 <BR>alert ($(this).parent().parent().parent().attr("id")); <BR>//.parent()是tr 第二個.parent是tbody。找到的也是tbody 第三個.parent()是table <br><br>//document.write("第一個parent的id:" $(this).parent().attr("id") " 。 ().parent().attr("id")); <br><br>}); <br><br>//parent("選擇器") parents("選擇器") <BR>$ ("#mytd3").bind("click",function(){ <BR>$("p").parent("#div1").css("background", "yellow");//這裡換成了p標籤。 $(this).parents("div").attr("id"));//div1 注意一個parent parents <BR>}); <BR><BR><br>/************ 尋找子元素 *************/ <br>//找出table2的td元素find() <BR>$("#sectd1").bind("click",function(){ <BR>alert($("#table2").find(" td").length); <BR>/* $("#table2").find("td").each(function(index,element){ <BR>alert($(element).text()) ; <BR>}); */ <BR>}); <BR><BR>//children() <br>$("#sectd2").bind("click",function(){ <br> var table = $("#table2"); <BR>alert($("#table2").children().children().children("td[id='sectd2']").html()) ; <BR>//children() 是tbody children()是tr children("td[id='sectd2']")是td <BR>}); <BR><BR><br>// js的children[] <br>$("#sectd3").bind("click",function(){ <BR>var table = document.getElementById("table2"); <BR>alert(table.children[0] .children[2].children[0].innerHTML); <BR>//children[0] 是tbody children[2]是第三行的tr children[0]是td <BR>}); <BR> <BR>}); <br></script>