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 に答える