You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何使用jQuery无法匹配同一父元素下class为folder-header的元素?

问题原因及解决方法

你的问题核心出在parent('thead')的用法上:

  • jQuery的parent()方法仅会查找当前元素的直接父节点,而你点击的<a class="lnk-folder">的直接父元素是<div>,并非<thead>,所以这一步返回的是空jQuery对象,后续的.find('.folder-header')自然无法匹配到任何元素。

结合你的DOM结构层级更直观:

<thead>
  <tr>
    <th>
      <div>
        <a class="lnk-folder">...</a> <!-- 触发点击的元素 -->
      </div>
    </th>
  </tr>
  <tr class="folder-header">...</tr> <!-- 目标元素 -->
</thead>

要正确定位到同一<thead>下的.folder-header,你需要使用能向上遍历DOM树查找祖先元素的方法,推荐用closest('thead')(找到最近的匹配祖先就停止遍历,效率更高),也可以用parents('thead')(会查找所有匹配的祖先元素)。

修正后的代码如下:

$('.lnk-folder').click(function(e) {
  e.preventDefault();
  // 先向上找到最近的thead,再查找其内部的folder-header
  var header = $(this).closest('thead').find('.folder-header');
  console.log(header);
});

内容的提问来源于stack exchange,提问作者ESB691

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:22:19