Ajax: .load() should trim its selector

Fixes #14773
This commit is contained in:
Dave Methvin 2014-03-03 21:37:56 -05:00
parent 10efa1f5b4
commit 3a68c114e3
3 changed files with 10 additions and 1 deletions

View File

@ -25,7 +25,7 @@ jQuery.fn.load = function( url, params, callback ) {
off = url.indexOf(" ");
if ( off >= 0 ) {
selector = url.slice( off );
selector = jQuery.trim( url.slice( off ) );
url = url.slice( 0, off );
}

View File

@ -1,3 +1,4 @@
<div class="user">This is a user</div>
<div class="user">This is a user</div>
<div class="teacher">This is a teacher</div>
<div id="superuser">This is a superuser</div>

View File

@ -1807,6 +1807,14 @@ module( "ajax", {
});
});
// Selector should be trimmed to avoid leading spaces (#14773)
asyncTest( "jQuery.fn.load( URL_SELECTOR with spaces )", 1, function() {
jQuery("#first").load( "data/test3.html #superuser ", function() {
strictEqual( jQuery( this ).children("div").length, 1, "Verify that specific elements were injected" );
start();
});
});
asyncTest( "jQuery.fn.load( String, Function ) - simple: inject text into DOM", 2, function() {
jQuery("#first").load( url("data/name.html"), function() {
ok( /^ERROR/.test(jQuery("#first").text()), "Check if content was injected into the DOM" );