日期:2014-05-20  浏览次数:20790 次

请问我这个jquery哪里写的不正确??
C# code

      <script type="text/javascript">
     var timeoutId;
        $(document).ready(function(){
                 
$("li.mainlevel").hover(function(){
var liNode=$(this);
        timeoutId=setTimeout(function(){
            $(liNode).children("ul").slideDown();
        },300);        
            },function(){
            $(liNode).children("ul").slideUp();
                clearTimeout(timeoutId);
            });

        });
        

</script>



------解决方案--------------------
var liNode=$(this);
变量liNode已经是jquery对象了,直接liNode.children("ul").slideDown();
最好这样定义var $liNode=$(this);
------解决方案--------------------
JScript code
var liNode=$(this);
        timeoutId=setTimeout(function(){
            $(liNode).children("ul").slideDown();
        },300);        
            },function(){
            $(liNode).children("ul").slideUp();
                clearTimeout(timeoutId);
            });

//这么写就是
//$($(this)),不对吧

------解决方案--------------------
你firebug或者alert 一下liNode.children("ul")看看,估计取到的不止一个ul,产生歧义了,前面加上限定的选择符号让只取到你想要的那个