$ 函数是 myJSFrame 的最为核心的函数之一。由它实现了 DOM 的扩展,并支持强大的 CSS 选择符。
| 参数 | 元素 ID | DOM 元素 | CSS 选择符 |
|---|---|---|---|
| 返回值 | DOM 元素或 null | DOM 元素 | DOM 元素组成的数组 |
该方法有两个作用:1、查找元素;2、让元素继承方法。 $ 函数实现继承方法的核心是使用 apply 方法把方法库(myJSFrame 中的 Element 方法集合)里的所有方法都应用到查找到的元素中去。由于把方法库的方法直接赋给元素,方法在元素属性里缓存,第二次用 $ 函数引用该元素时,$ 函数将忽略继承的步骤,可以直接使用缓存中的方法。
另外,该方法可以被递归调用,如 $("id").$(".classname"),参见 subElem。
<ul id="list">
<li><a href="#">奥林匹克运动会</a></li>
<li><a href="#">同一个世界,同一个梦想</a></li>
</ul>
<script type="text/javascript">
$("list").addClassName("abc"); //给 list 增加 abc 类名
$("#list li")[0].hide(); //隐藏 list 下第一个 li 元素。
$(document.body); //让body元素继承 Element 的方法集合
</script>