Javascript 更改jQuery变量的颜色

Javascript 更改jQuery变量的颜色,javascript,jquery,Javascript,Jquery,因此,我有两个“find”类的跨距。在我的jQuery中有两个变量,correct和nope。Correct='Yes'和nope='No'。当这两个变量中的任何一个在classes.text中时,它们会弹出yes和no。但是我不知道如何更改变量的颜色。当“是”在跨度中时,我希望“正确”的颜色为绿色,我希望“否”的颜色为红色。不是很擅长解释,但希望你明白我想说的 代码: <span class="find"></span> <span class="find">

因此,我有两个“find”类的跨距。在我的jQuery中有两个变量,correct和nope。Correct='Yes'和nope='No'。当这两个变量中的任何一个在classes.text中时,它们会弹出yes和no。但是我不知道如何更改变量的颜色。当“是”在跨度中时,我希望“正确”的颜色为绿色,我希望“否”的颜色为红色。不是很擅长解释,但希望你明白我想说的

代码:

<span class="find"></span>
<span class="find"></span>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
        var correct='Yes';
        var nope='No';
             if($('.find').text() == correct) {
                   $(this).css({color: 'green'});
             }
         $('.find').text(correct);
</script>

这里发生的是,您的选择器在.find中看到多个值,因为您同时选择了这两个值。您需要做的是这样的事情:

var correct='Yes';
var nope='No';
$('.find').text(correct);
$('.find').each(function() {
  if($(this).text() == correct) {
    $(this).css({color: 'green'});
  }  
})
还要注意,在检查比较之前,必须设置$'.find'.textcorrect,否则它只是一个空字符串。这是一把你可以玩的小提琴:

$this在您使用它的方式中没有任何价值

下面是一个有效的示例:

var Correct='是'; var nope=‘否’; $'.find'.eachfunction{ 如果$this.text==正确{ $this.css{ “颜色”:“绿色” }; }如果$this.text==否,则为else{ $this.css{ “颜色”:“红色” }; } }; 对
否我建议您使用CSS类进行着色。这样,您就不会直接使用jQuery应用CSS,从而使代码更加模块化,并允许将来更容易地进行更改

例如—

$document.readyfunction{ 变量$find=$'.find' $find.eachfunction{ var$this=$this; 如果$this.text==是{ $this.addClass'correct'; }如果$this.text==否,则为else{ $this.addClass“不正确”; } } } .对{ 颜色:绿色; } .不正确{ 颜色:红色; } 对
不知道Java和这个问题有什么关系?@DavidConrad可能是因为JAVAscript,他给Java加了标签;变量没有颜色。您试图根据HTML元素的内容更改其颜色。@DamianKozlak他们总是将其命名为java脚本来吸引新手,我是说真的,ecma脚本就不能这样做吗?只是一个旁注。。。这种事情通常是通过输入字段来完成的,因为它们有一个值。如果您使用输入,您甚至不需要Javascript。我已更新以显示示例。^此。只有两种可能的状态,因此创建一个类来定义每个状态,并使用jQuery来更改类应用的内容是一种方法。允许您在CSS中而不是JS中进行任何设计更改,并允许您在两种状态之间进行更复杂和更具视觉吸引力的差异,而不是仅仅停留在颜色上,因为这在JS中很容易互换