-2

これがjQueryで可能かどうか疑問に思っていました:

if (jQuery(".the-title").is('.selected')) {
    jQuery('.the-copy').css('display', 'block');
    jQuery(".the-title").removeClass('.selected'); //is this possible?
}

基本的に、if ステートメント内で条件を作成するクラスを削除できるかどうかを知りたいです。そうでない場合、これを達成する方法についてのアイデアはありますか?

ありがとう

4

5 に答える 5

0

絶対にできます。jQuery の removeClass と addClass にはドットが必要ないことを思い出してください。正しい (そしてより単純な) コードは次のようになります。

$('.the-title.selected')
    .removeClass('selected')
    .siblings('.the-copy').css('display', 'block');

これは、.the-copy が .the-title の兄弟であると仮定しています。それを他のjquery domトラバース関数に置き換えることができます

于 2012-08-31T18:55:38.130 に答える
0

はい、可能です。ただし、構文removeClassが正しくありません。前のピリオドを含めないでください。

if($(".the-title").is('.selected')) 
{
    $('.the-copy').css('display', 'block');
    $(".the-title").removeClass('selected'); //is this possible?
}

デモについては、この jsFiddle を参照してください > http://jsfiddle.net/QL7ds/1/

于 2012-08-31T18:56:25.427 に答える
0

はい。内部ブロックが実行される前に条件が評価されるため、このコードを実行してもまったく問題ありません。

于 2012-08-31T18:53:30.970 に答える
0

はい、可能です。要素にクラスがあるかどうかを評価しているだけです。ある場合は、それを削除するか、他のことを行うかを判断できます。

于 2012-08-31T18:54:08.237 に答える
0

はい

if ($(".the-title").is('.selected')) {
   $('.the-copy').show(); //does display -> block without animation
   $(".the-title").removeClass('selected');
}
于 2012-08-31T18:54:36.707 に答える