here's is a workaround in IE and chrome.
The idea is to wrap the option with a <span> and hide that <span>.
function optWrapper(opt){ var optSpan = undefined; if ($(opt).parent().is('span')){ optSpan = $(opt).parent(); } return optSpan; } function hideOption(opt){ var wrapper = optWrapper(opt); if (wrapper === undefined){ $(opt).wrap('<span>').hide(); }else{ $(wrapper).hide(); } } function showOption(opt){ var wrapper = optWrapper(opt); $(opt).show(); if (wrapper !== undefined){ $(wrapper).replaceWith(opt); } }