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.

This commit is contained in:
John Resig 2007-08-31 03:38:02 +00:00
parent 079d651e10
commit 85afa7c1ba
2 changed files with 9 additions and 1 deletions

View file

@ -996,3 +996,10 @@ test("map()", function() {
"Single Map" "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" );
});

View file

@ -2151,7 +2151,8 @@ jQuery.each({
next: "jQuery.nth(a,2,'nextSibling')", next: "jQuery.nth(a,2,'nextSibling')",
prev: "jQuery.nth(a,2,'previousSibling')", prev: "jQuery.nth(a,2,'previousSibling')",
siblings: "jQuery.sibling(a.parentNode.firstChild,a)", 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){ }, function(i,n){
jQuery.fn[ i ] = function(a) { jQuery.fn[ i ] = function(a) {
var ret = jQuery.map(this,n); var ret = jQuery.map(this,n);