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 相关文章推荐
jquery ajax提交表单数据的两种实现方法
Apr 29 Javascript
javascript通过navigator.userAgent识别各种浏览器
Oct 25 Javascript
JQuery设置时间段下拉选择实例
Dec 30 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
Ajax基础知识详解
Feb 17 Javascript
webpack进阶——缓存与独立打包的用法
Aug 02 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
Aug 29 Javascript
Vue.js实现表格渲染的方法
Sep 07 Javascript
vue模式history下在iis中配置流程
Apr 17 Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
Oct 11 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
第十节--抽象方法和抽象类
2006/11/16 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
php获得url参数中具有&amp;的值的方法
2014/03/05 PHP
php按单词截取字符串的方法
2015/04/07 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
mui back 返回刷新页面的实例
2017/12/06 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
园林毕业生自我鉴定范文
2013/12/29 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
送给客户微信问候语!
2019/07/04 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
python爬取新闻门户网站的示例
2021/04/25 Python