Здесь это будет сделано: http://jsfiddle.net/nfLrg/
После серьезной отладки я обнаружил, что carpie нашел, что ..
var target = $$.css('backgroundImage').replace(/^url|[\(\)]/g, '');
.. оставляет кавычки вокруг результата, и когда вы вставляете его позже в изображение src
, кавычки удваиваются, в результате * src="%22<target>%22"
с %22
является удвоенной кавычкой.
Следовательно, изменив его на ..
var target = $$.css('backgroundImage').replace(/^url|[\(\)]|['"]/g, '');
... удалит ненужные кавычки. (см. |['"]
, добавленное в регулярное выражение)
Плюс, я удалил все ненужные вызовы .css()
, потому что обрабатывать их внутри самого css намного проще.
Это все CSS, которые я использовал:
#logout-button {
}
#logout-button img.fade {
cursor: pointer;
}
#logout-button span.fake img {
position: absolute;
}
И, да, в jsFiddle CSS я оставил больше тегов и прокомментировал их.
Кстати, протестировано и отлично работает на IE6, IE7, IE 8, Firefox 3.6, Google Chrome 5, Opera 10.60, Safari 4.0.5. И это заставляет меня чувствовать, что это должно работать и в других браузерах.
EDIT:
На самом деле, я думаю, что есть более простые решения. Я проверю их, когда завтра приеду домой.