javascript方法封裝問題

我想寫個方法類似於jquery的這種寫法
$(id).click(function(){

})

这样写為什麼不行 應該怎麼寫
window.$=function(id){
return document.getElementById(id);
}
$.click=function(f){

        $.attachEvent("onclick",f());
    }

"eval("alert('1')");"

这思路是不对的。
 window.$=function(id){  // window.$表示的是function,而不是dom节点
return document.getElementById(id);
}
$.click=function(f){//这里的$是function,不是dom节点,因此$.click无意义。$.attachEvent也无意义。
        $.attachEvent("onclick",f());
    }

http://blog.csdn.net/tjcyjd/article/details/6106884


    <div id="dv">dv</div>
    <script>
        window.$ = function (id) {
            var dom = document.getElementById(id);
            dom.click = $.click;
            return dom;
        }
        $.click = function (f) {
            this.attachEvent("onclick", f/*()*/);
        }
        $('dv').click(function () { alert(11) })
    </script>

怎么看都是jq的写法。 js只有三种获取方式,document.getElementById...等。在JavaScript中$是document.getElementById()的简写或者变量名...等等。而在jq里面,指代他对象的引用.

<script>
    window.$ = function (id) {
        var dom = document.getElementById(id);
        dom.click = $.click;
        return dom;
    }
    $.click = function (f) {
        if(this.attachEvent)
        this.attachEvent("onclick", f);
        else
        this.addEventListener("onclick", f);
    }
    $('dv').click(function () { alert(11) })
</script>