测试js

js 代码
  1. //   Written by Terry Friesen,  [email protected]   
  2. //   http://www.mts.net/~tfriesen/dhtml/   
  3.   
  4. //   This script gives Netscape 6 the following IE methods:   
  5. //   removeNode(),replaceNode(),swapNode(),applyElement(),contains(),   
  6. //   insertAdjacentText(),insertAdjacentHTML(),insertAdjacentElement()   
  7.   
  8.   
  9. if(self.Node&&self.Node.prototype){   
  10. Node.prototype.removeNode=remove_Node;   
  11. Node.prototype.replaceNode=replace_Node;   
  12. Node.prototype.swapNode=swap_Node;   
  13. Element.prototype.applyElement=apply_Element;   
  14. Element.prototype.contains=_contains;   
  15. Element.prototype.insertAdjacentText=insertAdj_Text;   
  16. Element.prototype.insertAdjacentHTML=insertAdj_HTML;   
  17. Element.prototype.insertAdjacentElement=insertAdj_El;   
  18. Element.prototype.insert__Adj=insert__Adj;   
  19. }   
  20.   
  21. function remove_Node(a1){   
  22. var p=this.parentNode;   
  23. if(p&&!a1){   
  24. var df=document.createDocumentFragment();   
  25. for(var a=0;a df.appendChild(this.childNodes[a])   
  26. }   
  27. p.insertBefore(df,this)   
  28. }   
  29. return p?p.removeChild(this):this;   
  30. }   
  31.   
  32. function replace_Node(a1){return this.parentNode.replaceChild(a1,this)}   
  33.   
  34. function swap_Node(a1){   
  35. var p=a1.parentNode;   
  36. var s=a1.nextSibling;   
  37. this.parentNode.replaceChild(a1,this);   
  38. p.insertBefore(this,s)   
  39. return this;   
  40. }   
  41.   
  42. function apply_Element(a1,a2){   
  43. if(!a1.splitText){   
  44. a1.removeNode();   
  45. if(a2&&a2.toLowerCase()=="inside"){   
  46. for(var a=0;a a1.appendChild(this.childNodes[a])   
  47. }   
  48. this.appendChild(a1)   
  49. }   
  50. else{   
  51. var p=this.parentNode;   
  52. p.insertBefore(a1,this);   
  53. a1.appendChild(this);   
  54. }   
  55. return a1;   
  56. }   
  57. }   
  58.   
  59. function _contains(a1){   
  60. var r=document.createRange();   
  61. r.selectNode(this);   
  62. return r.compareNode(a1)==3;   
  63. }   
  64.   
  65. function insertAdj_Text(a1,a2){   
  66. var t=document.createTextNode(a2||"")   
  67. this.insert__Adj(a1,t);   
  68. }   
  69.   
  70. function insertAdj_HTML(a1,a2){   
  71. var r=document.createRange();   
  72. r.selectNode(this);   
  73. var t=r.createContextualFragment(a2);   
  74. this.insert__Adj(a1,t);   
  75. }   
  76.   
  77. function insertAdj_El(a1,a2){   
  78. this.insert__Adj(a1,a2);   
  79. return a2;   
  80. }   
  81.   
  82. function insert__Adj(a1,a2){   
  83. var p=this.parentNode;   
  84. var s=a1.toLowerCase();   
  85. if(s=="beforebegin"){p.insertBefore(a2,this)}   
  86. if(s=="afterend"){p.insertBefore(a2,this.nextSibling)}   
  87. if(s=="afterbegin"){this.insertBefore(a2,this.childNodes[0])}   
  88. if(s=="beforeend"){this.appendChild(a2)}   
  89. }   

你可能感兴趣的:(html,.net,IE,prototype)