Проблема в том, что возвращаемое значение jQuery('body').css('backgroundColor','red')
является объектом, который некоторые браузеры интерпретируют как новый контент для веб-страницы.Чтобы это исправить, вы можете использовать оператор JavaScript void
, чтобы превратить его в undefined
, который FF и Opera (и, возможно, другие) будут обрабатывать так, как вы планировали.Вы заметите, что эта проблема также описана на этой странице, поскольку это главный вариант использования оператора void
(кроме кода гольфа, где void 0
меньше символов, чем undefined
).
<a href="javascript:void(jQuery('body').css('backgroundColor','red'));">Test</a>
Это должно дать ожидаемый результат: http://jsfiddle.net/9CZZL/13/
Следует отметить, что обработка кликов таким способом считается плохой практикой.Вместо этого рекомендуется использовать обработчики событий в JavaScript.Это помогает разделить различные слои вашего веб-приложения, что, в свою очередь, облегчит отладку в будущем.