首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最近的遍历在我的情况下不起作用

最近的遍历在我的情况下不起作用
EN

Stack Overflow用户
提问于 2013-10-26 05:48:17
回答 3查看 64关注 0票数 0

我想使用最近的遍历来选择一个项目,我的html如下所示:

代码语言:javascript
运行
复制
<span id='target'></span>
<a></a>

jquery

代码语言:javascript
运行
复制
assume 'a' = $(this),
then I do $(this).closest('#target');

但似乎没有选择#目标..。这里怎么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-26 05:52:52

Closest('#target')不会在这里工作,因为a标记是span#target的兄弟,而不是父标记。使用Closest查找这两个元素的父元素,然后进行查找以获得target span,或者只使用.prev获取同级target span。

代码语言:javascript
运行
复制
$(this).closest("div").find("#target");

代码语言:javascript
运行
复制
$(this).prev("#target");
票数 2
EN

Stack Overflow用户

发布于 2013-10-26 05:50:09

因为有和id,所以可以使用它作为id选择器,因为id在文档中是唯一的--在本例中不需要使用任何关系查找。

代码语言:javascript
运行
复制
var target = $('#target')

如果您有像上面这样的模式,anchor元素后面跟着一个span元素,那么使用一个class属性而不是id。在这种情况下,spananchor元素的前一个同级,因此您需要使用.prev()

代码语言:javascript
运行
复制
<span class='target'></span>
<a></a>

var target = $(this).prev('.target');// $(this).prev() is sufficient 

.closest()将寻找一个祖先元素,而不是同级元素。

票数 1
EN

Stack Overflow用户

发布于 2013-10-26 05:54:37

“关闭”不检查兄弟姐妹,而是检查元素及其父元素jQuery.closest

对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先,获得与选择器匹配的第一个元素。

在您的例子中,<a><span>是兄弟姐妹,而不是父/子-所以使用closest不会从a找到span

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19603362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档