日期:2014-05-16  浏览次数:20322 次

jquery.fn.extend的疑问
代码如下:

<input id="aa" type="text" value="123" />
    <script>
        //方法一
        $.fn.extend({
            test: {
                $this: this,
                test1: function () {
                    alert(this.$this.val());
                }
            }
        });
        //方法二
        $.fn.extend({
            test: function () {
                alert(this.val());
            }
        });

        
        $("#aa").test.test1();
        $("#aa").test();
    </script>

方法二的this指的是$("#aa")对象。
方法一的this却不是我想要的$("#aa")对象。
请问方法一中$("#aa")对象该如何表示?

------解决方案--------------------
<input id="aa" type="text" value="123" />
    <script>
        //方法一
        $.fn.extend({//////////
            test1: function () {
                return {
                    $this: this,
                    test1: function () {
                        alert(this.$this.val());
                    }
                }
            }
        });
        //方法二
        $.fn.extend({
       &