<html>
<head>
</head>
<BODY>
<style type="text/css">
div.card div{ background-color:#FF8000; float:left;  padding:1px; padding-bottom:0; clear:both; width:405px;}
div.card a{ color:black; font-size:14px; text-decoration:none;  float:left; width:100px; text-align:center; background-color:white; margin-right:1px;}
div.card div.home a.home{ font:normal normal bold 14px/1.5 宋体;}
div.card div.international a.international { font:normal normal bold 14px/1.5 宋体;}
div.card div.sport a.sport{ font:normal normal bold 14px/1.5 宋体;}
div.card div.finance a.finance{ font:normal normal bold 14px/1.5 宋体;}
div.card div.content{ background-color:white; border:1px solid #ff8000; height:100px;}
</style><script type="text/javascript">
var shq={}
shq.cmenu=function(e)
{
alert(e);
var e=window.event?window.event.srcElement:e.target;
//上面一行取得激发事件的对象。
  if(/a/i.test(e.tagName)){
   //if中的东西是怎么回事???????????主要疑问点
        e.parentNode.className=e.className;
        //e.parentNode是类似于<a href="#" class="home">国内</a>这样的东东吗?
        e.parentNode.nextSibling.innerHTML=e.innerHTML;
        //e.parentNode.nextSibling就应该是class为content的div
        e.parentNode.nextSibling.style.cssText='border-top:none';
        e.blur();
        //blur是什么东东,似乎是失去焦点?
  }
}
</script>
</head>
<body>
<div class="card">
<div onclick="shq.cmenu(event)">
<a href="#" class="home">国内</a>
<a href="#" class="international">国际</a>
<a href="#" class="sport">体育</a>
<a href="#" class="finance">财经</a>
</div>
<div class="content">
</div>
</div>
</body>
</html>

解决方案 »

  1.   

    1.判断事件源对象的tagName是不是a,
    blur(),使用源对象失去焦点
      

  2.   

    if(/a/i.test(e.tagName)){ //对e.tagName进行正则测试,如果匹配e.parentNode当前事件标签A的父节点blur()
    说明:
    导致控件失去焦点。然后激发 onblur 事件。
      

  3.   

    if(/a/i.test(e.tagName)) 拆开来写
    re = /a/i; 定义正则表达式/a/i 用来匹配字母a, i表示不区分大小写
    if(re.test(e.tagName)) 判断 元素名称是不是匹配a(即判断触发事件的是不是A标签)
    e.parentNode是A标签的父节点,即<div onclick="shq.cmenu(event)"> 
    e.blur(); 让该元素失去焦点