aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Methvin <dave.methvin@gmail.com>2010-12-28 21:07:04 -0500
committerDave Methvin <dave.methvin@gmail.com>2010-12-28 21:07:04 -0500
commitc27d5ca6f5b69818c48fdc9b0f988790653fb1a5 (patch)
tree2f44ca8d666f0ba73ebe07a1c24b1e2832efaf7e
parent5fd21fc02bda43d4e31bcf2d5b55b918a9190a7f (diff)
downloadjquery-c27d5ca6f5b69818c48fdc9b0f988790653fb1a5.tar.gz
jquery-c27d5ca6f5b69818c48fdc9b0f988790653fb1a5.zip
By default, use document root rather than current selection's context when add()ing elements. Fixes #7853.
-rw-r--r--src/traversing.js2
-rw-r--r--test/unit/traversing.js17
2 files changed, 10 insertions, 9 deletions
diff --git a/src/traversing.js b/src/traversing.js
index 15446bd8b..e86883d90 100644
--- a/src/traversing.js
+++ b/src/traversing.js
@@ -134,7 +134,7 @@ jQuery.fn.extend({
add: function( selector, context ) {
var set = typeof selector === "string" ?
- jQuery( selector, context || this.context ) :
+ jQuery( selector, context ) :
jQuery.makeArray( selector ),
all = jQuery.merge( this.get(), set );
diff --git a/test/unit/traversing.js b/test/unit/traversing.js
index 0d079f19a..b1fd8a9bf 100644
--- a/test/unit/traversing.js
+++ b/test/unit/traversing.js
@@ -440,12 +440,13 @@ test("add(String|Element|Array|undefined)", function() {
test("add(String, Context)", function() {
expect(6);
-
- equals( jQuery(document).add("#form").length, 2, "Make sure that using regular context document still works." );
- equals( jQuery(document.body).add("#form").length, 2, "Using a body context." );
- equals( jQuery(document.body).add("#html").length, 1, "Using a body context." );
-
- equals( jQuery(document).add("#form", document).length, 2, "Use a passed in document context." );
- equals( jQuery(document).add("#form", document.body).length, 2, "Use a passed in body context." );
- equals( jQuery(document).add("#html", document.body).length, 1, "Use a passed in body context." );
+
+ equals( jQuery("#firstp").add("#ap").length, 2, "Add selector to selector" );
+ equals( jQuery(document.getElementById("firstp")).add("#ap").length, 2, "Add gEBId to selector" );
+ equals( jQuery(document.getElementById("firstp")).add(document.getElementById("ap")).length, 2, "Add gEBId to gEBId" );
+
+ var ctx = document.getElementById("firstp");
+ equals( jQuery("#firstp").add("#ap", ctx).length, 1, "Add selector to selector with context" );
+ equals( jQuery(document.getElementById("firstp")).add("#ap", ctx).length, 1, "Add gEBId to selector with context" );
+ equals( jQuery(document.getElementById("firstp")).add(document.getElementById("ap"), ctx).length, 2, "Add gEBId to gEBId with context" );
});