From: John Resig Date: Fri, 31 Aug 2007 03:38:02 +0000 (+0000) Subject: Added support for .contents(). Returns ALL child nodes for an element - except for... X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;ds=sidebyside;h=85afa7c1ba32e2e867b89e4222a4d27ea97dd20d;p=jquery.git Added support for .contents(). Returns ALL child nodes for an element - except for on an IFrame, then it returns the IFrame's document. This fixes #1024. --- diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js index 40be7f8..d673711 100644 --- a/src/jquery/coreTest.js +++ b/src/jquery/coreTest.js @@ -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" ); +}); diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index 8180a4e..7cd0730 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -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);