兼容的话题:inline和block
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
例 2.2
<HTML>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</HEAD>
<script language="JavaScript">
function swiDisplay(meO){
/* 马克-to-win:火狐和IE8中me.style.display开始时是没有值的,因为style="color:red;position:relative;" 如果是style="color:red;position:relative;display:inline",就有值了。但一旦赋值后,就会一直有值了*/
meTry=document.getElementById('redText');
alert("meTry===me is"+(meTry===meO));
alert("arguments[0].id is"+ arguments[0].id);
/*为什么redText可以直接用,因为是id域*/
alert("me===redText is"+(meO===redText));
alert("me.style.display is"+meO.style.display );
if (window.navigator.userAgent.indexOf("MSIE") >= 1)
{
alert("ie");
alert("me.currentStyle.display is"+ meO.currentStyle.display);
meO.style.display=meO.currentStyle.display;
}
/*可以单步调试在firebug里看看window.navigator.userAgent*/
else if (window.navigator.userAgent.indexOf("Firefox") >= 1)
{
alert("firefox");
alert("window.getComputedStyle(me1).getPropertyValue('display') is"+ window.getComputedStyle(meO).getPropertyValue('display'));
meO.style.display=window.getComputedStyle(meO).getPropertyValue('display');
}
if (meO.style.display=="block"){
/*注意下面的语句,可以变成style.display="",就是说inline
和“”效果是一样的, 这只是在set时,get时getComputedStyle
会返回inline*/
meO.style.display="inline";
alert("文本现在是:'inline'.");
}
else {
if (meO.style.display=="inline"){
meO.style.display="block";
alert("文本现在是:'block'.");
}
}
}
</script>
<div>在<span id="redText" onclick="swiDisplay(this)"
style="color:red;position:relative;">红色</span>文字上点击来查看效果.马克-to-win</div>