javascriptアクセスhtml要素の内容(2)

2447 ワード

(1)の最後の包装方式で作成したのは一つの方法です.私達は方法で呼び出さなければなりません.これは他のデフォルトとは属性で戻ります.結果はちょっと違っています.もし強迫症の子供靴があれば、ちょっと怪我ができないかもしれません.それを属性に戻します.
//children     ,            :)
HTMLElement.prototype = {
  get: function childrens(){
     var elts = [];
    for(let elt = this.firstChild;elt!=null;elt=elt.nextSibling){
      elts.push(elt);
    }
    return elts;
  }
}

my_p.childrens;
もっと優雅に見える方法でもいいです.
//                  
(function(){
  function get_childrens(){
     var elts = [];
    for(let elt = this.firstChild;elt!=null;elt=elt.nextSibling){
      elts.push(elt);
    }
    return elts;
  }

  //         setter  :
  function set_childrens(new_childrens){
    //    :) 
  }

  if(Object.defineProperty){
    Object.defineProperty(Element.prototype,"childrens2",{
      get:get_childrens,
      set:set_childrens,
      enumerable:false,configurable:true
    });
  }
  else{
    Element.prototype.__defineGetter__("childrens2",get_childrens);
    Element.prototype.__defineSetter__("childrens2",set_childrens);
  }
})();
my_p.childrens2