【问题标题】:JQuery hide closest with classname not workingJQuery隐藏最接近类名不起作用
【发布时间】:2017-08-16 09:17:50
【问题描述】:

我正在尝试选择包含某个属性的元素的父级(具有特定的类名)。

HTML 文件如下所示

<li class="parentClass...">
  <div class="...">
    <div class="...">
      <div class="...">
        <h3 class="...">
          <a title="...">
        <div class="...">
          <a href="/user/userName"...></a>

这是我的 JQuery(在 JS 文件中)

$("a[href~='/user/userName']").closest("li[class^='parentClass']").hide()

所以当我运行它时,什么也没有发生。 如果我 console.log() 查询它会打印出一个

[pevObject: r.fn.init(0)]

但是,如果我从 Chrome 的控制台运行命令 我收到一个错误:

Uncaught TypeError: $(...).closest(...).hide is not a function

为了节省您一些时间,是的,当我从控制台中删除 hide() 函数时,它会打印一个元素(我可以使用 chrome 手动隐藏)

编辑:修复未匹配的引号

【问题讨论】:

  • @RoryMcCrossan 抱歉,已修复,没有正确复制
  • 您的代码应该可以正常工作。您确定您显示的 HTML 与您网页中的内容完全匹配吗?
  • 好吧,我没有收到任何错误,但元素根本没有隐藏

标签: javascript jquery jquery-selectors


【解决方案1】:

$('button').click(function(){
  $("a[href~='/user/userName']").closest(".parentClass").toggle()
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="parentClass">
  <div class="...">
    <div class="...">
      <div class="...">
        <h3 class="...">
          <a title="...">
        <div class="...">
          <a href="/user/userName">link</a>
        </div>
        </a>
        </h3>
        </div>
        </div>
        </div>
        </li>
<button>Toggle</button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多