jQuery查找元素父节点

<li><div><span><span></div></li>我要根据span找到li要怎么找,不要这种方式$('span').parent().parent()... <li> <div><span><span></div></li> 我要根据span找到li要怎么找,不要这种方式 $('span').parent().parent() 展开
 我来答
王道王道dM
推荐于2017-11-28 · TA获得超过781个赞
知道小有建树答主
回答量:694
采纳率:50%
帮助的人:410万
展开全部
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');
匿名用户
2013-03-30
展开全部
你好哦楼主~
很高兴看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
对于你的问题我爱莫能助!
可能是你问的问题有些专业了,或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也会比较热心,能快点帮你解决问题。
最后祝您全家幸福健康快乐每一天!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinyc007
2013-03-29 · TA获得超过934个赞
知道小有建树答主
回答量:398
采纳率:75%
帮助的人:477万
展开全部
// 这样子应该可以,它返回的是一组元素,第一个是离的最近的一个父元素。

$('span').parents('li');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友59d1d93f2
2013-03-29 · TA获得超过1.2万个赞
知道小有建树答主
回答量:1063
采纳率:100%
帮助的人:686万
展开全部
$('span').parents('li:first');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappkFwV0962YhOPw
2013-03-30 · 请开发者输入账号签名
miniappkFwV0962YhOPw
采纳数:2709 获赞数:7887

向TA提问 私信TA
展开全部
$("span").parents("li")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式