所以我有几个班次的'发现'。在我的jQuery中我有2个变量,正确和不。正确='是'和nope ='否'。当这两个变量中的任何一个都在classes.text()中时,它们会弹出yes和no。但我无法弄清楚的是如何改变变量的颜色。我想'纠正'在“是”的情况下使颜色变为绿色。是在跨度,我希望nope有红色的颜色。不是很擅长解释这个,但希望你能得到我想说的话。
代码:
<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>
答案 0 :(得分:2)
我建议您使用CSS类进行着色。通过这种方式,您不会直接使用jQuery应用CSS,从而使您的代码更加模块化,并允许将来更容易的更改。
例如 -
$(document).ready(function() {
var $find = $('.find')
$find.each(function() {
var $this = $(this);
if ($this.text() === "Yes") {
$this.addClass('correct');
} else if ($this.text() === "Nope") {
$this.addClass('incorrect');
}
})
})
.correct {
color: green;
}
.incorrect {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span class="find">Yes</span>
<span class="find">Nope</span>
答案 1 :(得分:0)
此处发生的事情是,您的选择器会在.find
中看到多个值,因为您正在选择这两个值。你需要做的是这样的事情:
var correct='Yes';
var nope='No';
$('.find').text(correct);
$('.find').each(function() {
if($(this).text() == correct) {
$(this).css({color: 'green'});
}
})
另请注意,在检查比较之前必须设置$('.find').text(correct)
- 否则它只是一个空字符串。这是你可以玩的小提琴:
答案 2 :(得分:0)
$(this)
与您使用它的方式没有任何价值。
这是一个有效的例子:
var Correct = 'Yes';
var nope = 'no';
$('.find').each(function() {
if ($(this).text() == Correct) {
$(this).css({
'color': 'green'
});
} else if ($(this).text() == nope) {
$(this).css({
'color': 'red'
});
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="find">Yes</span>
<span class="find">no</span>
&#13;