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 相关文章推荐
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
JavaScript 参数中的数组展开 [译]
Sep 21 Javascript
jQuery 获取页面li数组并删除不在数组中的key
Aug 02 Javascript
jQuery zTree树插件动态加载实例代码
May 11 jQuery
p5.js入门教程之平滑过渡(Easing)
Mar 16 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
从组件封装看Vue的作用域插槽的实现
Feb 12 Javascript
JQueryDOM之样式操作
Mar 27 jQuery
vue的路由映射问题及解决方案
Oct 14 Javascript
vue 在methods中调用mounted的实现操作
Aug 07 Javascript
javascript实现前端分页功能
Nov 26 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
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
用 php 编写的日历
2006/10/09 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
深入浅析python with语句简介
2018/04/11 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
高职助产应届生自荐信
2013/09/24 职场文书
股份合作协议书
2014/04/12 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
工资证明格式模板
2015/06/12 职场文书
城南旧事电影观后感
2015/06/16 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
PL350与SW11的比较
2021/04/22 无线电
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL