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 相关文章推荐
动态改变textbox的宽高的js
Oct 26 Javascript
JS 判断undefined的实现代码
Nov 26 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
我的Node.js学习之路(四)--单元测试
Jul 06 Javascript
浅谈javascript中call()、apply()、bind()的用法
Apr 20 Javascript
jQuery div拖拽用法实例
Jan 14 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
Jun 18 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
Jun 22 Javascript
微信小程序-详解数据缓存
Nov 24 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
Aug 07 Javascript
JavaScript仿京东轮播图效果
Feb 25 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
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
用js重建星际争霸
2006/12/22 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
深入理解Javascript中的this关键字
2015/03/27 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python Tkinter的图片刷新实例
2019/06/14 Python
python内存动态分配过程详解
2019/07/15 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
军训生自我鉴定范文
2013/12/27 职场文书
文化产业实施方案
2014/06/07 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
销售合作意向书范本
2015/05/08 职场文书
小学教师见习总结
2015/06/23 职场文书
物业保洁员管理制度
2015/08/05 职场文书
病房管理制度范本
2015/08/06 职场文书
团结主题班会
2015/08/13 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python