-1

我正在尝试if else if为我的 jQuery 使用一个语句来添加多个语句,以便整齐地完成。唯一的问题是一个我得到一个控制台错误,两个它当然不能正常工作啊!

代码

$(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()

我将有更多其他的 if 语句,希望你能理解我想要在这里做的事情。基本上搜索跨度是否作为具有颜色基础的样式,如果是,则有更多的 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 回答