<script>
if (document.getElementById("newPriceLinks")){
var sfEls = document.getElementById("newPriceLinks").getElementsByTagName("dt");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),  
"");
}
}
}
</script>请大家帮我解释一下上面的代码!
详细一点好!
谢谢!

解决方案 »

  1.   

    如果newPriceLinks元素存在,那么返回newPriceLinks元素内的所有dt元素,然后设置每一个元素的onmouseover事件以及onmouseout事件
      

  2.   

    if (document.getElementById("newPriceLinks"))//如果查找的"newPriceLinks"元素存在
    {
        
        var sfEls = document.getElementById("newPriceLinks").getElementsByTagName("dt");//设置newPriceLinks元素内的所有dt元素为sfEls
        for (var i=0; i<sfEls.length; i++) //遍历每一个dt元素
        {
            
            sfEls[i].onmouseover=function() //某个dt元素触发鼠标移上事件,不管dt的classnamewei不为空,取sfhover后为classname
            {
                this.className+=(this.className.length>0? " ": "") + "sfhover"; 
            }
            sfEls[i].onmouseout=function()// 某个dt元素触发鼠标移开事件,用空替换(以sfhover开头或结尾的,且不在"( ?|的classname)
            {
                this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),"");
            }
        }
    }