Sample code:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
span {display:none;}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("span").fadeIn(3000);
});
});
</script>
</head>
<body>
<button>Fade in</button>
<span>This is some text.</span>
</body>
</html>
It doesn’t work in IE8 and probably older versions. Any solution?
I think because the span tag is an inline element, it has no layout, unlike block level elements like DIVs.
Swap it to a div and it works, alternatively, this approach (assign block layout to your span, then hide with Jquery) will retain your markup as is and function as desired under IE8: