jQuery で CSS を変更できないようです。
私のcssファイルでは、これは機能します...
.closed {
background-image: url(http://70.55.103.238/Images/menu-collapsed.gif);
}
これを jQuery で動的に変更できるようにする必要があるため、これを $(document).ready(function()... で呼び出しています。
$('.closed').css({ 'background-image' : 'url(http://'+window.location.host+'/Images/menu-collapsed.gif)' });
明らかでない場合、これを行う必要がある理由は、画像フォルダーへの相対パスを使用できず、ホストが定数ではないためです。
最初の質問ですが、jquery 呼び出しが機能しないのはなぜですか? このようにアラートを入れると...
alert('url(http://'+window.location.host+'/Images/menu-collapsed.gif)')
URL が正しいことがわかります。アラートに表示された URL をアドレス バーに直接入力すると、gif が取得されます。したがって、渡された URL が正しいと確信しています。css が変更されていないと仮定する必要があります。
2 番目の質問です。jquery を使用しないように、.css ファイルでホスト URL を動的に取得する方法はありますか?
ありがとう。
アップデート:
簡単にするために、次のことを試しました。
CSS...
.closed {
background-image: url(../Images/menu-collapsed.gif);
}
ジャバスクリプト...
$('.closed').css({ 'background-image' : 'url(../Images/menu-expanded.gif)' });
css は menu-collapsed.gif を使用するように設定され、javascript はそれを men-expanded.gif に変更することに注意してください。しかし、表示される画像は menu-collapsed.gif です。