Jquery - css 后台修改不起作用



HTML:

                <div class="rating" id = "r1"></div>
                <div class="rating" id = "r2"></div>
                <div class="rating" id = "r3"></div>
                <div class="rating" id = "r4"></div>
                <div class="rating" id = "r5"></div>

Js (使用 jquery 1.10.1):

 <script type = "text/javascript">
                    $(document).ready(function(){
                        var rate = new Array();
                        rate[1] = "r1";
                        rate[2] = "r2";
                        rate[3] = "r3";
                        rate[4] = "r4";
                        rate[5] = "r5";
                        var r = <?php echo $rate;?>
                            for(var i=1; i<=r;i++){
                                var k = rate[i];
                                $('#'+k).css{('background-image': 'url(images/star_green.png)')};
                            }
                    });
                    </script>

基本上我想使用此代码做的是修改前 xdiv 的背景(我的数据库中提供的数字)。我知道 js 变量 r 取正确的值...与 k 变量相同...我认为唯一不起作用的是设置背景的部分。我使用直接值(没有 +k 部分)对其进行了测试,但它也不起作用。该页面位于根目录中,图像文件夹位于其旁边。

有什么建议吗?

PS:Js 脚本放在div 之后的页面上。

你在这里缺少一个分号

var r = <?php echo $rate;?>

它应该是

var r = <?php echo $rate;?>;

$('#'+k).css{('background-image': 'url(images/star_green.png)')};

应该是

$('#'+k).css({'background-image': 'url(images/star_green.png)'});

 $(document).ready(function () {
     var rate = new Array();
     rate[1] = "r1";
     rate[2] = "r2";
     rate[3] = "r3";
     rate[4] = "r4";
     rate[5] = "r5";
     var r = <? php echo $rate; ?> ;
     for (var i = 1; i <= r; i++) {
         var k = rate[i];
         $('#' + k).css
             ({'background-image': 'url(images/star_green.png)'});
         };
     }
 });

请尝试这个。

$('.rating').css('background-image','url(images/image.jpeg)');

最新更新