使用jQuery无法在条件上更改元素的背景颜色

时间:2012-08-28 07:04:19

标签: jquery html css

如果某个元素有一些合适的文本,我想更改元素的背景颜色。

我认为我在使用jQuery时遇到了麻烦。简单警报不起作用。

我包含了jQuery:

<script src="http://code.jquery.com/jquery-latest.js"></script>

并将id添加到适当的元素:

<td id="method">Some method</td>
<td>RAM_UNITS</td>
<td id="bupa-vic">RAM_MBP</td>
<td>RAM_SCHED</td>
<td>RAM_REBATE</td>
<td id="oop">RAM_OOP_NO_GAP</td>
<td>RAM_OOP_GAP</td>
<td id="total">RAM_TOTAL_EXPENCE</td>

现在我想做下一步:如果方法=保险将buppa的背景颜色改为蓝色。

这是我的jQuery:

$(document).ready(function(){
    if ( $('#method').text() == 'Insurance' ) {
      $(#bupa-vic).css({'background-color': 'blue'});
    }
    if ( $('#method').text() == 'out of pocket' ) {
      $(#bupa-vic).css({'background-color': 'blue'});
      $(#oop).css({'background-color': 'blue'});
    }
    if ( $('#method').text() == 'Total account' ) {
      $(#total).css({'background-color': 'blue'});
    }
});

但它不起作用。在Google控制台中也没有与jQuery相关的错误。

有人可以建议问题在哪里吗?

4 个答案:

答案 0 :(得分:4)

您缺少一堆引号...请注意代码中的语法突出显示不正确?

$('#bupa-vic').css({'background-color': 'blue'});
--^---------^--

与所有其他人一样。

答案 1 :(得分:3)

您忘记了' http://jsfiddle.net/GZ8ZT/3/

中的$(#bupa-vic) => $('#bupa-vic')

答案 2 :(得分:1)

尝试console.log( $('#method').text() )并查看结果,但也不要忘记添加$(#method) - $('#method')逗号。

答案 3 :(得分:1)

你可以使用jQuery的.contains()方法,它更简单,你可以根据不同的词来计算:

$("td#method:contains('Insurance')");
$('td#bupa-vic').css("background-color", "blue");

http://jsfiddle.net/Kyle_Sevenoaks/Hpj59/1/