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

标签 javascript jquery dom-traversal

<分区>

我正在尝试使用 jQuery 来选择一个 div 元素,但是对于我来说,我无法弄清楚如何让它工作。我正在尝试设置它,以便当用户单击带有 remove 类的 span 元素时,它会找到最接近的 div 元素类 class-i-want-to-select

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

<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>

这是我尝试使用的代码:

$('body').on('click', '.remove', function () {
    var that = $(this).closest('div').find('.class-i-want-to-select');
    console.log(that);
});

我认为上面的代码可以正确选择我正在尝试选择的元素,但它不起作用。难道我做错了什么?由于我正在遍历的代码块是动态添加的,是否需要使用不同的方式来选择它?

最佳答案

试试这个:你试图获得最接近的 div,然后找到不会给你父 div 的类 class-i... 您只需将类选择器 .container 放在 closest 中,它将返回正确的父 div,然后调用 find 获取 我要选择的类。检查下面的代码

$(document).on('click', '.remove', function () {
    var $parent = $(this).closest('div.container');
    var that = $parent.find('div.class-i-want-to-select');
    console.log(that);
});

关于javascript - 使用 jQuery 选择具有特定类的元素的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51596041/

相关文章:

php - GMT 时间格式转整数格式

带标题的 Javascript 图像 slider - 标题不显示

javascript - 如何更改按钮内的文本?

javascript - querySelectorAll 和 getElementsBy* 方法返回什么?

javascript - Yield 内的 RiotJS 标签未更新

javascript - 检查我的机器人是否有权管理角色

javascript - 为什么只有Chrome在页面之间闪烁白色?

javascript - 切换类不适用于推送菜单

jquery - 使用 jQuery 将类添加到焦点组特定 div

html - 如何在 firebug 中遍历 HTML DOM?