-1

if else ifjQueryのステートメントを使用して複数のステートメントを追加し、適切に実行しようとしています。唯一の問題は、1つはコンソールエラーが発生し、2つはもちろんうまく機能していないことです。

コード

$(document).ready(function() { 
 var NLG = $('.post .name strong a').has('span'); 
if {
   NLG.attr('style','color:#09B300').css({'font-weight':'bold'});
   }
 else if {
     NLG.attr('style','color:#09B400').css({'text-decoration':'underline'});
         }
});

正しく書いたの.attrか、それとも.has()

私がここで何をしたいのかをあなたが理解してくれることを願っています。基本的に、スパンがカラーベースのスタイルであるかどうかを検索し、そうである場合は、CSSを追加します。

demwunzのおかげで、問題が修正されました。if条件を理解して、皆さんに感謝します。

$(document).ready(function() { 
    var NLG = $('.post .name a span');
    var color = NLG.attr('style');
 if(color === 'color:#09B300'){
    NLG.addClass('bringingback');
    } 
  else if (color === 'color:#09B400'){
    NLG.addClass('takenback');
        }
});
4

3 に答える 3

3

前にコメントしたように、ifステートメントに引数を渡す必要があります。値を保存して参照しやすくし、値を取得するために必要な操作を少なくするのが好きです。

$(document).ready(function() { 
    var NLG = $('.post .name strong a').has('span');
    var color = NLG.css('color');
  if(color === '#09B300'){
    NLG.css('font-weight','bold');
  } else if (color === '#09B400'){
    NLG.css('text-decoration','underline');
  }
});
于 2013-01-05T22:50:56.317 に答える
1

ifの条件ステートメントを記述していません。

に基づく:

基本的に、スパンがカラーベースのスタイルであるかどうかを検索し、そうである場合は、CSSを追加します。

色に基づいていくつかのクラスを追加することをお勧めします。これにより、テストが容易になります。たとえば、クラス名greengreenest

.green {
  color: #09B300;
}

.greenest {
  color: #09B400;
}

次に、インラインスタイルで設定するのではなく、それぞれの要素に追加します。.hasClass()これで、を使用して特定のクラス名に対してテストできます。

$(document).ready(function() { 
  var $NLG = $('.post .name strong a').has('span'); 
  if ($NLG.hasClass("green")) {
    $NLG.css('font-weight', 'bold');
  } else if ($NLG.hasClass("greenest")) {
    $NLG.css('text-decoration', 'underline');
  }
});
于 2013-01-05T22:40:34.310 に答える
0

ifステートメントの条件はありません。

$(document).ready(function() { 

var NLG = $('.post .name strong a').has('span'); 

if(condition1==condition2) 
{
   NLG.attr('style','color:#09B300').css({'font-weight':'bold'});
}
else if(condition3==condition1) 
{
   NLG.attr('style','color:#09B400').css({'text-decoration':'underline'});
}

});
于 2013-01-05T22:30:40.483 に答える