2017-08-16 70 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>