编程论坛's Archiver

windtear 发表于 2007-6-17 10:24

[求助]大家来看下,为什么会获不到对象......

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank" >http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</A>"&gt;<BR>&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank" >http://www.w3.org/1999/xhtml</A>"&gt;<BR>&lt;head&gt;<BR>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<BR>&lt;title&gt;Test&lt;/title&gt;<BR>&lt;style type="text/css"&gt;<BR>&lt;!--<BR>body {<BR> margin-left: 0px;margin-top: 0px;}<BR>div{<BR>border:1px #CCCCCC solid; margin:100px; padding:5px; margin-top:100px}<BR>#menu{<BR>position:absolute; left:5px; height:400px; width:80px; font-family:"宋体"; font-size:12px; color:#2F3753;}<BR>#menu dl dt{<BR>list-style-type:none; text-align:center;}<BR>.dt{<BR>background:#999900;padding-top: 6px; padding-bottom: 5px; height:14px;}<BR>#other{<BR>position:absolute; left:180px; height:400px; width:600px;}<BR>--&gt;<BR>&lt;/style&gt;<BR>&lt;script language="javascript"&gt;<BR>&lt;!--<BR>function init()<BR>{<BR>   var nodeList = document.getElementsByTagName("dt");<BR>   for (var i = 0; i &lt; nodeList.length; i++)<BR>   {<BR>      function __event()<BR>      {<BR>     // alert(node);<BR>         if(nodeList[i].className)<BR>         {<BR>         nodeList[i].className=''; <BR>      }<BR>      else<BR>      {<BR>         nodeList[i].className='dt';<BR>      }    <BR>      }  <BR>   alert(nodeList[i]);<BR>      nodeList[i].attachEvent("onmouseover",__event);<BR>   nodeList[i].attachEvent("onmouseout",__event); <BR>   }   <BR>}<BR>--&gt;<BR>&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body onload="init();"&gt;<BR>&lt;div id="menu"&gt;<BR>  &lt;dl&gt;<BR>    &lt;dt&gt;Title 1&lt;/dt&gt;<BR> &lt;dt&gt;Title 2&lt;/dt&gt;<BR> &lt;dt&gt;Title 3&lt;/dt&gt;<BR>  &lt;/dl&gt;<BR>&lt;/div&gt;<BR>&lt;div id="other"&gt;&lt;img width="600px" height="400px" src="#" alt="other" /&gt;&lt;/div&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>我想用JAVASCRIPT将所有DT标签附上ONMOUSEOVER等属性为什么会提示对象为空.....谁能帮我看看~!

melack 发表于 2007-6-22 08:18

[flash=500,350]http://www.lanjing.com.cn/qiyeky/tt.swf[/flash]

melack 发表于 2007-6-22 08:18

[flash=500,350]http://www.lanjing.com.cn/qiyeky/tt.swf[/flash]

advancant 发表于 2007-10-5 23:42

function init()<BR>            {<BR>                var nodeList = document.getElementsByTagName("dt");<BR>            <BR>                for (var i = 0; i &lt; nodeList.length; i++)<BR>                {<BR>                    _event(nodeList[i]);<BR>                <BR>                    document.attachEvent("onmouseover",_event);<BR>                    document.attachEvent("onmouseout",_event);<BR>                }<BR>            }<BR>            <BR>            function _event(obj)<BR>            {<BR>                if(obj.className)<BR>                {<BR>                    obj.className='';<BR>                }<BR>                else<BR>                {<BR>                    obj.className='dt';<BR>                }<BR>            }   

渚薰 发表于 2007-10-8 10:13

lz和ls的都有错,正确的应该如下:<BR>function init()<BR>            {<BR>                var nodeList = document.getElementsByTagName("dt");<BR>            <BR>                for (var i = 0; i &lt; nodeList.length; i++)<BR>                {<BR>                    if (document.attachEvent) {<BR>                       document.attachEvent("onmouseover",_event);<BR>                       document.attachEvent("onmouseout",_event);<BR>                    } else if (document.addEventListener) {<BR>                       element.addEventListener("mouseover", _event,true);<BR>                       element.addEventListener("mouseout",_event,true);<BR>                    }<BR>                }<BR>            }<BR>            <BR>            function _event(event)<BR>            {<BR>                var e=window.event || event;<BR>                var obj=e.target || e.srcElement;<BR>                if(obj.className)<BR>                {<BR>                    obj.className='';<BR>                }<BR>                else<BR>                {<BR>                    obj.className='dt';<BR>                }<BR>            }<BR>}<BR><BR>如果lz嫌麻烦,并且知道prototype库的话,那么就这样用<BR>Event.observe(window,'load',function() {<BR>    function _toggleClassName(e) {<BR>       var obj=$(Event.element(e));<BR>       if (obj.hasClassName('dt')) {<BR>           obj.removeClassName('dt');<BR>       } else {<BR>           obj.addClassName('dt');<BR>       }<BR>    }<BR>    $$('#menu dt').each(function(oDt) {<BR>       oDt=$(oDt);<BR>       oDt.observe(oDt,'mouseover',_toggleClassName.bindAsEventListener(oDt));<BR>       oDt.observe(oDt,'mouseout',_toggleClassName.bindAsEventListener(oDt));<BR>    });<BR>});

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.