0

私が使用getする場合defineProperty

Object.defineProperty(Object.prototype,'parent',{
    get:function(){return this.parentNode}
});

そして、私はそれを次のように呼び出すことができます: document.body.parent、それから動作します。

と使うvaluedefineProperty

Object.defineProperty(Object.prototype,'parent',{
    value:function(x){
        var temp=this.parentNode;
        for(var i=1;i<x;i++){temp=temp.parentNode};
        return temp
    }
});

次のように呼び出すことができます:document.getElementsByName("newtag").parent(2)は、newtag の親ノードの親ノードを見つけることを意味します。

しかし、私がそれらをまとめると、それは言うUncaught TypeError: Invalid property. A property cannot both have accessors and be writable or have a value.

両方の方法で呼び出すことができるようにするにはどうすればよい.parentです.parent(n)か?

jQuery なし

4

2 に答える 2