关闭

jquery获取父元素以及操作包装集中的元素

831人阅读 评论(0) 收藏 举报
分类:

今天写了这样一段html代码


现在要选择所有name=‘auoteTimeCheck’并且被选中的check元素所在行的第四个td元素,即选中“未读”所在的td。选择元素的父元素,采用parent()方法,获取的是直接父节点,还用parents(selector)获取的是所有父元素(即祖先元素)可以给该方法传入一个选择器进行过滤,在这里只是获取了checkbox的父元素td,然后通过siblings()获取得到td的兄弟元素,它的兄弟元素有三个,即剩下的三个td,然后操作这个包装集(里面有三个td元素),使用eq(index)获取的是序列号是index的jquery元素,也可以通过get(index)获取包装集元素,但是返回的是html元素,不是jquery。

var checkedItem = $("input[name='quoteTimeCheck']:checked");

$.each(checkedItem, function(index, value) {
newsidsToPost[index]= $(value).val();
var stateItem = $(value).parent()
.siblings().eq(2).html();


if (stateItem == '已读') {
$.messager.alert('提示',
'选择的记录中含有已读的消息,请重新选择');
return;
}})

使用jquery获取父元素或父节点的方法

jquery获取父元素方法比较多,比如parent(),parents(),closest()这些都能帮你实现查找父元素或节点,下面我们来一一讲解:

先举个例子,

1.<ul class="parent1">

  2.<li><a href="#" id="item1">jquery获取父节点</a></li>
  3.<li><a href="#">jquery获取父元素</a></li>
  4.</ul>

 

我们的目的是通过 id 为 item1 的便签a取到 class 为 parent1 的ul元素,有以下几种方法:

1、parent([expr])

取得一个包含着所有匹配元素的唯一父元素的元素集合。

你可以使用可选的表达式来筛选。

代码如下

1.$('#item1').parent().parent('.parent1');

2、:parent

匹配含有子元素或者文本的元素

代码如下

 

  1.$('li:parent'); 

3、parents([expr])

取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。

代码如下

   1.$('#items').parents('.parent1');

  4、closest([expr])

closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。

closest和parents的主要区别是:1,前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找;2,前者逐级向上查找,直到发现匹配的元素后 就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤;3,前者返回0或1个元素,后者可能包含0 个,1个,或者多个元素。

closest对于处理事件委派非常有用。

1.$('#items1').closest('.parent1');

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:121642次
    • 积分:3024
    • 等级:
    • 排名:第11510名
    • 原创:179篇
    • 转载:52篇
    • 译文:0篇
    • 评论:10条
    最新评论