}\r
\r
private static GQuery innerHtml(String html) {\r
- Element div = DOM.createDiv();\r
- div.setInnerHTML(html);\r
- return new GQuery(\r
- copyNodeList((NodeList<Element>) (NodeList<?>) div.getChildNodes()));\r
+ return $(clean(html));\r
}\r
\r
private static native String[] jsArrayToString0(JsArrayString array) /*-{\r
}\r
}\r
\r
- private JSArray clean(String elem) {\r
+ protected static JSArray clean(String elem) {\r
String tags = elem.trim().toLowerCase();\r
String preWrap = "", postWrap = "";\r
int wrapPos = 0;\r
return domManip(clean(html), func);\r
}\r
\r
- private GQuery domManip(NodeList nodes, int func) {\r
+ private GQuery domManip(NodeList<?> nodes, int func) {\r
for (Element e : elements()) {\r
for (int i = 0; i < nodes.getLength(); i++) {\r
Node n = nodes.getItem(i);\r
- if (size() > 1) {\r
+ if (nodes.getLength() > 1) {\r
n = n.cloneNode(true);\r
}\r
\r
// Investigate: IE in method filter adds the attrib added="null"
return s.toString().trim().toLowerCase().
replaceAll("[\r\n]", "").
- replaceAll(" ([\\w]+)=[\"]([^\"]+)[\"]", " $1=$2").
+ replaceAll(" ([\\w]+)=[\"']([^\"']+)[\"']", " $1=$2").
replaceAll("\\s+\\$h=\"[^\"]+\"", "").
replaceAll(" added=[^ >]+", "");
}
assertHtmlEquals(expected, $(e).html());
$(e).html(content + wrapper);
- expected
- = "<b><p>Test Paragraph.</p></b><b><div id=\"content\">Content</div></b>";
+ expected = "<b><p>Test Paragraph.</p></b><b><div id=\"content\">Content</div></b>";
$("*", e).wrap("<b></b>");
assertHtmlEquals(expected, $(e).html());
}
+
+ public void testDomManip() {
+ String content = "<span class='branchA'><span class='target'>branchA target</span></span>"
+ + "<span class='branchB'><span class='target'>branchB target</span></span>";
+
+ $(e).html("");
+ $(e).append(content);
+ assertEquals(4, $("span", e).size());
+ assertEquals(2, $("span.target", e).size());
+ assertHtmlEquals(content, $(e).html());
+ }
}