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 相关文章推荐
两种简单实现菜单高亮显示的JS类代码
Jun 27 Javascript
window.ActiveXObject使用说明
Nov 08 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 Javascript
JQueryEasyUI Layout布局框架的使用
Apr 08 Javascript
深入理解jquery跨域请求方法
May 18 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
Aug 31 Javascript
angularjs使用directive实现分页组件的示例
Feb 07 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
Sep 04 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
Dec 08 Javascript
详解vue中async-await的使用误区
Dec 05 Javascript
基于JS判断对象是否是数组
Jan 10 Javascript
JS图片预加载三种实现方法解析
May 08 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
php4的彩蛋
2006/10/09 PHP
测试您的 PHP 水平的题目
2007/05/30 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
基于json的jquery地区联动效果代码
2011/07/06 Javascript
jquery map方法使用示例
2014/04/23 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
python实现两张图片的像素融合
2019/02/23 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
玲玲的画教学反思
2014/02/04 职场文书
老师对学生的评语
2014/04/18 职场文书
新文化运动的基本口号
2014/06/21 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
放牛班的春天观后感
2015/06/01 职场文书
董事长致辞
2015/07/29 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书