$()里面的参数可以是 string也可以是 element (即节点对象)
string就是节点的 id名, 
element就是引用的对象:可以是你说的 this, 或 form的 element, 或用 getElementById得到的对象 等

解决方案 »

  1.   

    this是OBJECT本身
    在你的例子中就是input这个元素.
      

  2.   

    不用prototype,上次看了百度百科是这么说的:使用$()方法
      $() 方法是在DOM中使用过于频繁的 document.getElementById() 方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。
      比起DOM中的方法,这个更胜一筹。你可以传入多个id作为参数然后 $() 返回一个带有所有要求的元素的一个 Array 对象。
      <HTML>
      <HEAD>
      <TITLE> Test Page </TITLE>
      <script src="prototype-1.3.1.js"></script>
      <script>
      function test1()
      {
      var d = $('myDiv');
      alert(d.innerHTML);
      }
      function test2()
      {
      var divs = $('myDiv','myOtherDiv');
      for(i=0; i<divs.length; i++)
      {
      alert(divs.innerHTML);
      }
      }
      </script>
      </HEAD>
      <BODY>
      <div id="myDiv">
      <p>This is a paragraph</p>
      </div>
      <div id="myOtherDiv">
      <p>This is another paragraph</p>
      </div>
      <input type="button" value=Test1 onclick="test1();"><br>
      <input type="button" value=Test2 onclick="test2();"><br>
      </BODY>
      </HTML>另外一个好处是,这个函数能传入用string表示的对象ID,也可以传入对象本身,这样,在建立其它能传两种类型的参数的函数时非常有用
      

  3.   

    在搞jquery啊..
      恩.是指引用对象啊
      

  4.   

    prototype中$()的参数是HTML元素的ID或该元素的DOM对象
    好比<div id='demo'></div>,
    $('demo') == document.getElementById('demo') == $(document.getElementById('demo'))