原型 - $() 方法



最常用的便捷功能 $() 可提供获取 DOM 元素控制权的简便方法。

语法

$(id | element)

OR

$((id | element)...)

返回值

  • 找到的 HTMLElement。
  • 如果找到的元素多于一个,则返回 HTML 元素的数组。

以下是一种旧方法,可通过这种方法编写 Javascript 语句以获取 DOM 节点。

node = document.getElementById("elementID");

使用 $(),我们可以将其缩短,如下所示 −

node = $("elementID");

示例

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "/javascript/prototype.js"></script>
      
      <script>
         function test() {
            node = $("firstDiv");
            alert(node.innerHTML);
         }
      </script>
   </head>

   <body>
      <div id = "firstDiv">
         <p>This is first paragraph</p> 
      </div>
      
      <div id = "secondDiv">
         <p>This is another paragraph</p>
      </div>    
      
      <input type = "button" value = "Test $()" onclick = "test();"/>
   </body>
</html>

输出

使用 $() 获取多个值

除此之外,$() 函数比 document.getElementById() 更强大,因为它具有内置功能,可用于检索多个元素。

此函数的另一个优点是,你可以传递 ID 字符串或元素对象本身,这使得此函数在你创建其他函数时非常有用,而其他函数也可以采用这两种形式的参数。

示例

在此示例中,我们看到 $() 函数现在返回元素的数组,然后可以使用简单的 for 循环对其进行访问。

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "/javascript/prototype.js"></script>
      
      <script>
         function test() {
            allNodes = $("firstDiv", "secondDiv");
            
            for(i = 0; i < allNodes.length; i++) {
               alert(allNodes[i].innerHTML);
            } 
         }
      </script>
   </head>

   <body>
      <div id = "firstDiv">
         <p>This is first paragraph</p> 
      </div>
      
      <div id = "secondDiv">
         <p>This is another paragraph</p>
      </div>
      
      <input type = "button" value = "Test $()" onclick = "test();"/>
   </body>
</html>

输出

prototype_utility_methods.htm
广告