Added support for .contents(). Returns ALL child nodes for an element - except for...
authorJohn Resig <jeresig@gmail.com>
Fri, 31 Aug 2007 03:38:02 +0000 (03:38 +0000)
committerJohn Resig <jeresig@gmail.com>
Fri, 31 Aug 2007 03:38:02 +0000 (03:38 +0000)
src/jquery/coreTest.js
src/jquery/jquery.js

index 40be7f8..d673711 100644 (file)
@@ -996,3 +996,10 @@ test("map()", function() {
                "Single Map"
        );
 });
+
+test("contents()", function() {
+       expect(3);
+       equals( $("#ap").contents().length, 9, "Check element contents" );
+       ok( $("#iframe").contents()[0], "Check existance of IFrame document" );
+       ok( $("#iframe").contents()[0].body, "Check existance of IFrame body" );
+});
index 8180a4e..7cd0730 100644 (file)
@@ -2151,7 +2151,8 @@ jQuery.each({
        next: "jQuery.nth(a,2,'nextSibling')",
        prev: "jQuery.nth(a,2,'previousSibling')",
        siblings: "jQuery.sibling(a.parentNode.firstChild,a)",
-       children: "jQuery.sibling(a.firstChild)"
+       children: "jQuery.sibling(a.firstChild)",
+       contents: "jQuery.nodeName(a,'iframe')?a.contentDocument||a.contentWindow.document:jQuery.makeArray(a.childNodes)"
 }, function(i,n){
        jQuery.fn[ i ] = function(a) {
                var ret = jQuery.map(this,n);