From 1be558203961c43043d6e9de3341e8bb9c3dcbf3 Mon Sep 17 00:00:00 2001 From: David Serduke Date: Wed, 5 Dec 2007 05:01:46 +0000 Subject: [PATCH] Fixed #1419 where IE failed with .text() on an XML node. This is part of a series of tickets including #1264 where the context of the DOM manipulation was a problem in xml and iframe documents. --- src/core.js | 3 ++- test/unit/core.js | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/core.js b/src/core.js index 0f274255..23c1b79f 100644 --- a/src/core.js +++ b/src/core.js @@ -917,7 +917,8 @@ jQuery.extend({ clean: function( elems, context ) { var ret = []; context = context || document; - if (!context.createElement) + // !context.createElement fails in IE with an error but returns typeof 'object' + if (typeof context.createElement == 'undefined') context = context.ownerDocument || context[0] && context[0].ownerDocument || document; jQuery.each(elems, function(i, elem){ diff --git a/test/unit/core.js b/test/unit/core.js index d69696a1..5f2f81af 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -173,7 +173,19 @@ test("$('html', context)", function() { var $div = $("
"); var $span = $("", $div); - equals($span.length, 1, "Verify a span created with a div context works"); + equals($span.length, 1, "Verify a span created with a div context works, #1763"); +}); + +test("$(selector, xml).text(str) - Loaded via XML document", function() { + expect(2); + stop(); + $.get('data/dashboard.xml', function(xml) { + // tests for #1419 where IE was a problem + equals( $("tab:first", xml).text(), "blabla", "Verify initial text correct" ); + $("tab:first", xml).text("newtext"); + equals( $("tab:first", xml).text(), "newtext", "Verify new text correct" ); + start(); + }); }); test("length", function() { @@ -355,8 +367,8 @@ if ( !isLocal ) { $('tab', xml).each(function() { titles.push($(this).attr('title')); }); - ok( titles[0] == 'Location', 'attr() in XML context: Check first title' ); - ok( titles[1] == 'Users', 'attr() in XML context: Check second title' ); + equals( titles[0], 'Location', 'attr() in XML context: Check first title' ); + equals( titles[1], 'Users', 'attr() in XML context: Check second title' ); start(); }); });