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 相关文章推荐
在线编辑器中换行与内容自动提取
Apr 24 Javascript
『jQuery』名称冲突使用noConflict方法解决
Apr 22 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 Javascript
AngularJS在IE8的不支持的解决方法
May 13 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
Jan 06 Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
Angular 2 利用Router事件和Title实现动态页面标题的方法
Aug 23 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
详解vue-cli下ESlint 配置说明
Sep 03 Javascript
js实现开关灯效果
Mar 30 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
Feb 24 Javascript
js canvas实现五子棋小游戏
Jan 22 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
php5.2时间相差8小时
2007/01/15 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
js中string转int把String类型转化成int类型
2014/08/13 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
shell程序中如何注释
2012/01/28 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
大学生自我鉴定
2013/12/08 职场文书
公司活动策划方案
2014/01/13 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
学习考察心得体会
2014/09/04 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
政协会议宣传标语
2014/10/09 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
钳工实训报告总结
2014/11/04 职场文书
2014年团队工作总结
2014/11/24 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
公司门卫岗位职责
2015/04/13 职场文书
毕业生入职感言
2015/07/31 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
Python学习之时间包使用教程详解
2022/03/21 Python