99
1010public abstract class DOMNode {
1111
12+
1213 public abstract void appendChild (DOMNode node );
1314
1415 public abstract boolean hasFocus ();
1516
1617 public abstract boolean play ();
1718
18- public abstract DOMNode removeChild (DOMNode nocde );
19-
2019 public abstract DOMNode removeAttribute (String attr );
2120
2221 public abstract void setSelectionRange (int pt0 , int pt1 );
@@ -63,29 +62,36 @@ public static DOMNode getParent(DOMNode node) {
6362 return null ;
6463 }
6564 }
66-
65+
6766 /**
68- * remove this node and return its parent
67+ *
6968 * @param node
70- * @return parent or null
69+ * @param container
70+ * @return parent if container is null, or container if it is not null
7171 */
72- public static DOMNode remove (DOMNode node ) {
72+ public static DOMNode transferTo (DOMNode node , DOMNode container ) {
7373 if (node == null )
7474 return null ;
75- /**
76- * @j2sNative
77- *
78- * try {
79- * var p = node.parentElement;
80- * p.removeChild(node);
81- * $(body).remove(node);
82- * } catch(e) {
83- * };
84- * return p;
85- */
86- {
87- return null ;
75+ DOMNode p = getParent (node );
76+ try {
77+ JSUtil .jQuery .$ (node ).detach ();
78+ } catch (Throwable e ) {
79+ // ignore
8880 }
81+ if (container == null )
82+ return p ;
83+ JSUtil .jQuery .$ (container ).append (node );
84+ return container ;
85+ }
86+
87+ /**
88+ * remove this node and return its parent
89+ * @param node
90+ * @return parent or null
91+ */
92+ public static void remove (DOMNode node ) {
93+ if (node != null )
94+ JSUtil .jQuery .$ (node ).remove ();
8995 }
9096
9197 /**
@@ -225,7 +231,7 @@ public static void addJqueryHandledEvent(Object me, DOMNode node, String event)
225231 * f = function(ev) {me.handleJSEvent$O$I$O(node, -1, ev)};
226232 */
227233 {}
228- JSUtil .getJQuery () .$ (node ).on (event , f );
234+ JSUtil .jQuery .$ (node ).on (event , f );
229235 }
230236
231237 public static DOMNode setZ (DOMNode node , int z ) {
@@ -270,16 +276,6 @@ public static void addHorizontalGap(DOMNode domNode, int gap) {
270276 domNode .appendChild (label );
271277 }
272278
273- public static void removeAllChildren (DOMNode node ) {
274- /**
275- * @j2sNative
276- *
277- * while (node.hasChildNodes()) {
278- * node.removeChild(node.lastChild); }
279- */
280- {}
281- }
282-
283279 public static void seTabIndex (DOMNode node , int i ) {
284280 /**
285281 * @j2sNative
@@ -293,4 +289,14 @@ public static void setVisible(DOMNode node, boolean visible) {
293289 setStyles (node , "display" , visible ? "block" : "none" );
294290 }
295291
292+ public static int getHeight (DOMNode node ) {
293+ // TODO Auto-generated method stub
294+ return JSUtil .jQuery .$ (node ).height ();
295+ }
296+
297+ public static int getWidth (DOMNode node ) {
298+ // TODO Auto-generated method stub
299+ return JSUtil .jQuery .$ (node ).width ();
300+ }
301+
296302}
0 commit comments