首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery选择具有特定类的元素的正确方法是什么?

使用jQuery选择具有特定类的元素的正确方法是什么?
EN

Stack Overflow用户
提问于 2018-07-30 14:16:57
回答 4查看 298关注 0票数 1

我试图使用jQuery来选择一个div元素,但是,在我的生活中,我不知道如何让它工作。我试图设置它,所以当用户单击span元素和类remove时,它会找到与类class-i-want-to-select最接近的div元素

此代码块是在页面完成加载后动态添加的:

代码语言:javascript
运行
复制
<div class="container">
   <div>
      <span style="float:left;">some text</span>
      <span class="remove" style="float:right;">[X]</span> ///user clicks here
   </div>
   <div style="clear:both;"></div>
   <div class="class-i-want-to-select"></div> ///want to select this element
</div>

这是我尝试使用的代码:

代码语言:javascript
运行
复制
$('body').on('click', '.remove', function () {
    var that = $(this).closest('div').find('.class-i-want-to-select');
    console.log(that);
});

我认为上面的代码会正确地选择我正在尝试的元素-- select,但是它不能工作。我做错了什么吗?由于我正在遍历的代码块是动态添加的,是否有不同的方式来选择它?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-07-30 14:19:58

尝试这样做:您正在尝试获取最近的div,然后找到类不给您具有类class-i...的父div,您只需要在closest中放置类选择器.container,它将返回正确的父div,然后调用find获取class-i-want-to-select。检查下面的代码

代码语言:javascript
运行
复制
$(document).on('click', '.remove', function () {
    var $parent = $(this).closest('div.container');
    var that = $parent.find('div.class-i-want-to-select');
    console.log(that);
});
票数 2
EN

Stack Overflow用户

发布于 2018-07-30 14:19:31

您的跨度也封装在一个div中。所以最近会发现div而不是带有类容器的div。那个部门没有一个我想要选择的孩子。所以,尝试使用.closest( '.container' )

票数 2
EN

Stack Overflow用户

发布于 2018-07-30 14:20:01

试试这个-

代码语言:javascript
运行
复制
$('.remove').on('click', function () {
    var that = $(this).parent().parent().find('.class-i-want-to-select');
    console.log(that);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51596041

复制
相关文章

相似问题

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