2017-08-16 58 views
1

我试图选择一个包含某个属性的元素的父级(具有特定的类名称)。JQuery隐藏类名不工作

这里是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()函数从控制台运行它打印一个元素(我可以手动隐藏使用铬)

编辑:固定错过匹配报价

+1

@RoryMcCrossan对不起,固定它,没有复制正确 – whateverMan99

+1

在你的代码应该是工作精绝。你确定你显示的HTML完全匹配你的页面中的内容吗? –

+0

嗯,我没有得到任何错误,但元素根本不隐藏 – whateverMan99

回答

0

$('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>