0

わかりました、私にとってさらに別のjqueryセレクターの悪夢です!同様のトピックで約20の質問を読みましたが、問題のある質問は見つかりませんでした...存在する場合は申し訳ありませんが(おそらくどこかにあります)、無意味に簡単に思えますが、どういうわけか機能させることができません。

私はimgのリストを持っています、そしてあなたが1つをクリックすると、私はその2番目のクラスを手に入れます。この2番目のクラスを取得したら、そのクラスを持つ他の要素を非表示または表示したい

ここに明確にするためのいくつかのコードがあります:

<ul id="thumbail_list">
   <li class="image fantome"><img src="images/fantome.png"/></li>
<ul>

ファントーム画像をクリックしたとしましょう。デフォルトで非表示になっているクラステキストとファントームを含む段落を別の場所に表示したいとします。

$('#thumbail_list li').click(function() {

    var Chosenclass = $(this).attr('class').split(' ')[1];  
    var texte = '.text .' + Chosenclass ;
    var image = '.image .' + Chosenclass ;

    $('.image').fadeIn('slow', function(){
        $(image).fadeOut('slow', function(){
            $(texte).fadeIn('slow');            
        });

    });
}

しかし、これを機能させることができず、コンソールにエラーが表示されません。どこにでもアラートを表示し、常に必要なものを表示します...しかし、非表示のテキストは表示されません。

4

1 に答える 1

4

テキストにクラス.textと.fantomeの両方がある場合は、セレクターをチェーンする必要があります。

.text.fantome <- without space

したがって、スペースを取り除きます。

var texte = '.text.' + Chosenclass ;
                ^^^^

スペースを使用して、クラス.textの要素の(または子孫)であるクラスChosenClassのオブジェクトを選択します。

于 2012-06-25T01:06:34.900 に答える