<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
    ul
    {list-style-type: none;
    }
    </style>    <script type="text/javascript">
    function hide(this) {
       
        this.style.display = "none";
        
    }
    </script>
</head>
<body><div>
<ul>
<li id="i1" style="background: pink;width:50px;" onmouseover="hide(this)">隐藏</li>
<li id="i2" style="background: pink;width:50px;" onmouseover="hide(this)">隐藏</li>
</ul>
</div></body>
</html>我想知道能不能让hide()直接把li的id作为参数传给javascript,

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <style type="text/css">
        ul
        {list-style-type: none;
        }
        </style>    <script type="text/javascript">
        function hide(obj) {
           
            obj.style.display = "none";
            
        }
        </script>
    </head>
    <body><div>
    <ul>
    <li id="i1" style="background: pink;width:50px;" onmouseover="hide(this)">隐藏</li>
    <li id="i2" style="background: pink;width:50px;" onmouseover="hide(this)">隐藏</li>
    </ul>
    </div></body>
    </html>this不能用作参数标识符,传id用this.id
    hide(this.id)
      

  2.   

    首先你要理解这里的this用法:给dom绑定事件通常有三种方法,其中你的例子onmouseover="hide(this)"就是最简单的一种,称为“HTML事件句柄”,用这种方式绑定的事件,当参数为"this"的时候,代表的是被添加事件的DOM的对象,也就是你例子中相对应的li,这个时候就能解释,如果你要传id,那么就直接可以使用this.id了
      

  3.   

    方法名最好改下。。不然有些浏览器会把hide误认为关键字。。不会执行的。。
      

  4.   

    this 是关键字。参数名称冲突了
      

  5.   

    不好意思。。记错了。。想成hidden去了