首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.closest()比较最近的id

使用.closest()比较最近的id
EN

Stack Overflow用户
提问于 2020-12-31 07:24:33
回答 2查看 31关注 0票数 0

我正在检查与selected类最近的id是否为toshow。从代码中可以看出,条件应该是真的,但它在控制台中显示为false。

  1. 为什么它显示为假?
  2. 如何在控制台中显示它的真?

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Demo part 1</title>
</head>
<body>
    <div style="width:500px;">div (great-grandparent)
        <ul>ul (second ancestor - second grandparent) 
          <div id="toshow"">ul (first ancestor - first grandparent)
            <li>li (direct parent)
              <button class="selected">span</span>
            </li>
          </ul>
        </ul>   
      </div>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
  console.log($(".selected").closest("[id]") == "toshow");
</script>
</html>

EN

回答 2

Stack Overflow用户

发布于 2020-12-31 07:31:36

closest是DOM选择器函数。结果是对元素的引用。您希望对照返回元素的id进行检查:

代码语言:javascript
复制
  console.log($(".selected").closest("[id]").attr('id') == "toshow");

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Demo part 1</title>
</head>
<body>
    <div style="width:500px;">div (great-grandparent)
        <ul>ul (second ancestor - second grandparent) 
          <div id="toshow"">ul (first ancestor - first grandparent)
            <li>li (direct parent)
              <button class="selected">span</span>
            </li>
          </ul>
        </ul>   
      </div>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
  console.log($(".selected").closest("[id]").attr('id') == "toshow");
</script>
</html>

票数 0
EN

Stack Overflow用户

发布于 2020-12-31 07:34:55

您应该比较attr,它的返回元素。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Demo part 1</title>
</head>
<body>
    <div style="width:500px;">div (great-grandparent)
        <ul>ul (second ancestor - second grandparent) 
          <div id="toshow"">ul (first ancestor - first grandparent)
            <li>li (direct parent)
              <button class="selected">span</span>
            </li>
          </ul>
        </ul>   
      </div>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
  console.log($(".selected").closest("[id]").attr("id") == "toshow");
</script>
</html>

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

https://stackoverflow.com/questions/65517875

复制
相关文章

相似问题

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