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.

This commit is contained in:
David Serduke 2007-12-05 05:01:46 +00:00
parent 74a132d944
commit 1be5582039
2 changed files with 17 additions and 4 deletions

View File

@ -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){

View File

@ -173,7 +173,19 @@ test("$('html', context)", function() {
var $div = $("<div/>");
var $span = $("<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();
});
});