2017-01-10 47 views
-2

該代碼的作用是,它將隱藏的類從隱藏的對象中刪除,但它拒絕將其添加回來,我試過了不同的方法,但沒有成功。jQuery無法識別的表達式:#

未捕獲的錯誤:語法錯誤,無法識別的表達式:#

$(function() { 
    $('img').on('click', function() { 
    var me = $(this).attr('class') 
    var x = $('#' + me) 

    if(x.hasClass('hidden')) { 
     x.removeClass('hidden') 
    } else { 
     x.addClass('hidden') 
    } 

    }); 
}); 

http://codepen.io/anon/pen/BpoMQg?editors=1111

搞得我正在做的工作codepen,它讓我意識到這個問題,但是我現在還需要一個更好的方式來做到這一點。

問題是我正試圖使用​​現在未隱藏的圖像關閉它,但因爲我的'我'變量在類中搜索它失敗,但是,如果你再次按相同的圖像工作。

+2

請提供[MCVE] –

+3

兩件事:'#'是選擇元素由id。第二:你的錯誤意味着'me'是空字符串。 – Pointy

+1

我不明白你爲什麼需要使用類來通過id選擇另一個元素。無論你在做什麼,我都很確定有這樣做的更好方法。 – Phiter

回答

1

您的意思是?

$(function() { 
    $('img').on('click', function() { 
     $(this).toggleClass('hidden'); 
    }); 
} 
0

您可以使用此功能,根據您的描述,這應該是它:

$(function() { 
 
    $('img').on('click', function() { 
 
    if($(this).index()==0) { 
 
    
 
    $(this).next().toggleClass('hidden'); 
 
    } 
 
    else 
 
    $(this).toggleClass('hidden'); 
 
    }); 
 
});
img { 
 
    display:block; 
 
    margin:5px auto; 
 
} 
 
.hidden { 
 
    display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 

 
<img class="1" src="https://images.blogthings.com/thelollipoptest/lollipop-3.jpg" alt="PREVIEW_IMAGE:1"> 
 

 
<img id="1" class="hidden" src="https://placehold.it/200x200" alt="PREVIEW_IMAGE:1.1"> 
 
</div>

+0

這正是我想要做的,謝謝!也歡呼理解! – Unkn0wn

相關問題