根据父类改变css

时间:2013-08-31 22:56:07

标签: jquery

我需要以下问题的帮助。我需要根据父类的类名将css属性(背景)更改为某些内容。这是我的代码。

HTML

<div id="types">
  <ul>
    <li class='car'><a href='#'>Car</a></li>
    <li class='bus'><a href='#'>Bus</a></li>
  </ul>
</div>

我需要更改background-image代码的a。如果我在li.car,则背景为images/car.png,如果在li.bus,则为images/bus.png

我无法弄清问题在哪里。这就是我的开始,这是有效的。

$('#types ul li a').css('background', "url('./images/skills/cooking.png') 
   center center no-repeat");

但是当我将其更改为类似的东西时,它将无效:

$('#types ul li a').css('background', 
   "url('./images/skills/'+($(this).parent().attr('class'))+'.png') 
   center center no-repeat");

有什么问题?

1 个答案:

答案 0 :(得分:1)

除非您专门调用它evalFunction构造函数,否则不会执行引号内的代码。尝试将它撞到引号之外,它应该可以工作。

$('#types ul li a').each(function() {
        $(this).css('background', "url('./images/skills/" + ($(this).parent().attr('class')) + ".png') center center no-repeat");
    });