jquery查找父元素、子元素(个人经验总结)


Posted in Javascript onApril 09, 2014

使用js或者jquery查找父元素、子元素经常遇到。可是用起来总容易混淆,这里统一总结了一下,以后用起来相信会方便好多

这里jquery向上查找父元素 用到的方法:closest() parents() parent()

向下查找子元素 用到的方法:find() children()

js用的是 children[] 属性

html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>jquery查找父元素子元素</title> 
</head> 
<body> 

<div class="div1" id="div1" name="mydiv"> 
<p>段落1 查找父元素</p> 
<table id="table1"> 
<tbody id="tbody1"> 
<tr> 
<td id="mytd1">11closest()向上查找最近的元素(返回零个或一个元素的 jQuery 对象)</td> 
</tr> 
<tr id="mytr2"> 
<td id="mytd2">21parent()方法</td> 
</tr> 
<tr> 
<td id="mytd3">31parent("选择器")方法</td> 
</tr> 
</tbody> 
</table> 
</div> 

<hr> 
<div id="div2" style="border-bottom :5px;" name="mydiv"> 
<p>段落2 查找子元素</p> 
<table id="table2"> 
<tbody> 
<tr> 
<td id="sectd1">查找table2的td find()方法</td> 
</tr> 
<tr id="sectr2"> 
<td id="sectd2">查找table2的td children()方法</td> 
</tr> 
<tr> 
<td id="sectd3">js的children[]属性来查找</td> 
</tr> 
</tbody> 
<tbody> 
<tr> 
<td>tbody2222</td> 
</tr> 
</tbody> 
</table> 
</div> 
</body> 
</html>

js代码:
<script type="text/javascript" src="./js/jquery-1.7.2.js"></script> 
<script> $(function(){ 
/************ 查找父元素 *************/ 
//closest()方法 
$("#mytd1").bind("click",function(){ 
//alert($(this).html()); 
alert($(this).closest("table").attr("id")); //table1而不是table0 
//alert($(this).closest("table").html()); 
}); 
//parent()方法 
$("#mytd2").bind("click",function(){ 
//alert($(this).html()); //$(this).html()是21 (this).attr("id")是mytd2 
alert($(this).parent().parent().parent().attr("id")); 
//.parent()是tr 第二个.parent是tbody。即使没有tbody标签,找到的也是tbody 第三个.parent()是table 
//document.write("第一个parent的id:" + $(this).parent().attr("id") + "。 第二个parent的id是:"+$(this).parent().parent().attr("id") + "。 第三个parent的id是:"+$(this).parent().parent().parent().attr("id")); 
}); 
//parent("选择器") parents("选择器") 
$("#mytd3").bind("click",function(){ 
$("p").parent("#div1").css("background", "yellow");//这里换成了p标签。不知道为什么用this找不到元素 
//alert($(this).parent("#div").attr("id"));//undefined 
alert($(this).parents("div").attr("id"));//div1 注意一个parent parents 
}); 

/************ 查找子元素 *************/ 
//查找table2的td元素 find() 
$("#sectd1").bind("click",function(){ 
alert($("#table2").find("td").length); 
/* $("#table2").find("td").each(function(index,element){ 
alert($(element).text()); 
}); */ 
}); 
//children() 
$("#sectd2").bind("click",function(){ 
var table = $("#table2"); 
alert($("#table2").children().children().children("td[id='sectd2']").html()); 
//children() 是 tbody children()是 tr children("td[id='sectd2']")是td 
}); 

// js的 children[] 
$("#sectd3").bind("click",function(){ 
var table = document.getElementById("table2"); 
alert(table.children[0].children[2].children[0].innerHTML); 
//children[0] 是 tbody children[2]是 第三行的tr children[0]是td 
}); 
}); 
</script>
Javascript 相关文章推荐
Firebug 字幕文件JSON地址获取代码
Oct 28 Javascript
ajax更新数据后,jquery、jq失效问题
Mar 16 Javascript
JsRender for index循环索引用法详解
Oct 31 Javascript
JavaScript中的原型链prototype介绍
Dec 30 Javascript
Juery解决tablesorter中文排序和字符范围的方法
May 06 Javascript
javascript中innerText和innerHTML属性用法实例分析
May 13 Javascript
js 创建对象 经典模式全面了解
Aug 16 Javascript
JavaScript中闭包的详解
Apr 01 Javascript
利用10行js代码实现上下滚动公告效果
Dec 08 Javascript
使用preload预加载页面资源时注意事项
Feb 03 Javascript
JavaScript中break、continue和return的用法区别实例分析
Mar 02 Javascript
vue项目在webpack2实现移动端字体自适配功能
Jun 02 Javascript
js控制iframe的高度/宽度让其自适应内容
Apr 09 #Javascript
JS、DOM和JQuery之间的关系示例分析
Apr 09 #Javascript
jQuery遍历Table应用示例
Apr 09 #Javascript
通过url查找a元素并点击
Apr 09 #Javascript
js数组方法扩展实现数组统计函数
Apr 09 #Javascript
jquery实现pager控件示例
Apr 09 #Javascript
模拟用户点击弹出新页面不会被浏览器拦截
Apr 08 #Javascript
You might like
用PHP开发GUI
2006/10/09 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
js location.replace与location.reload的区别
2010/09/08 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python类反射机制使用实例解析
2019/12/30 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
python内打印变量之%和f的实例
2020/02/19 Python
Python如何对XML 解析
2020/06/28 Python
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
网络安全方面的面试题
2016/01/07 面试题
个人授权委托书
2014/04/03 职场文书
我的求职择业计划书
2014/04/04 职场文书
护士求职简历自我评价
2015/03/10 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
入党心得体会
2019/06/20 职场文书
MySQL 服务和数据库管理
2021/11/11 MySQL