首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最近()方法不按预期工作

最近()方法不按预期工作
EN

Stack Overflow用户
提问于 2017-01-06 14:41:53
回答 1查看 2K关注 0票数 6

下面有一个示例,我不知道为什么第一个示例(使用div)不能获得文本,而第二个示例(使用span)可以使用closest()实现相同的JS代码。

代码语言:javascript
复制
$('.class-1').closest('div').find('.class-2').text()

第一段div**'s) (使用)无法使用** closest()**:**获取文本

代码语言:javascript
复制
console.log( $('.class-1').closest('div').find('.class-2').text() );
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div class="class-1">Div 1 Content</div>
  <div class="class-2">Div 2 Content</div>
</div>

第二段代码段(使用span**'s),使用),使用** closest()**:**获取文本

代码语言:javascript
复制
console.log( $('.class-1').closest('div').find('.class-2').text() );
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <span class="class-1">Div 1 Content</span>
  <br/>
  <span class="class-2">Div 2 Content</span>
</div>

我知道在本例中可以返回class-2文本的替代class-2,但我只想知道这种行为发生了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-06 14:43:58

因为.closest()检查调用元素是否也适合选择器,在您的示例中,.class-1也是一个div

从医生那里:

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

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

https://stackoverflow.com/questions/41508008

复制
相关文章

相似问题

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