0

我需要帮助解决以下问题。我需要根据父类的类名将 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");

怎么了?

4

1 回答 1

1

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

$('#types ul li a').each(function() {
        $(this).css('background', "url('./images/skills/" + ($(this).parent().attr('class')) + ".png') center center no-repeat");
    });
于 2013-08-31T22:59:48.880 回答