git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for #806
[jquery.git]
/
src
/
jquery
/
jquery.js
diff --git
a/src/jquery/jquery.js
b/src/jquery/jquery.js
index
86d2bd3
..
f756b67
100644
(file)
--- a/
src/jquery/jquery.js
+++ b/
src/jquery/jquery.js
@@
-1,7
+1,7
@@
/*
* jQuery @VERSION - New Wave Javascript
*
/*
* jQuery @VERSION - New Wave Javascript
*
- * Copyright (c) 2006 John Resig (jquery.com)
+ * Copyright (c) 2007 John Resig (jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
@@
-38,14
+38,14
@@
var jQuery = function(a,c) {
// Handle HTML strings
if ( typeof a == "string" ) {
// Handle HTML strings
if ( typeof a == "string" ) {
+ // HANDLE: $(html) -> $(array)
var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
-
- a = m ?
- // HANDLE: $(html) -> $(array)
- jQuery.clean( [ m[1] ] ) :
+ if ( m )
+ a = jQuery.clean( [ m[1] ] );
- // HANDLE: $(expr)
- jQuery.find( a, c );
+ // HANDLE: $(expr)
+ else
+ return new jQuery( c ).find( a );
}
return this.setArray(
}
return this.setArray(
@@
-122,11
+122,6
@@
var $ = jQuery;
* This function also accepts XML Documents and Window objects
* as valid arguments (even though they are not DOM Elements).
*
* This function also accepts XML Documents and Window objects
* as valid arguments (even though they are not DOM Elements).
*
- * @example $(document).find("div > p")
- * @before <p>one</p> <div><p>two</p></div> <p>three</p>
- * @result [ <p>two</p> ]
- * @desc Same as $("div > p") because the document
- *
* @example $(document.body).background( "black" );
* @desc Sets the background color of the page to black.
*
* @example $(document.body).background( "black" );
* @desc Sets the background color of the page to black.
*
@@
-416,10
+411,16
@@
jQuery.fn = jQuery.prototype = {
* @result <img src="test.jpg" title="test.jpg" />
* @desc Sets title attribute from src attribute.
*
* @result <img src="test.jpg" title="test.jpg" />
* @desc Sets title attribute from src attribute.
*
+ * @example $("img").attr("title", function(index) { return this.title + (i + 1); });
+ * @before <img title="pic" /><img title="pic" /><img title="pic" />
+ * @result <img title="pic1" /><img title="pic2" /><img title="pic3" />
+ * @desc Enumerate title attribute.
+ *
* @name attr
* @type jQuery
* @param String key The name of the property to set.
* @param Function value A function returning the value to set.
* @name attr
* @type jQuery
* @param String key The name of the property to set.
* @param Function value A function returning the value to set.
+ * Scope: Current element, argument: Index of current element
* @cat DOM/Attributes
*/
attr: function( key, value, type ) {
* @cat DOM/Attributes
*/
attr: function( key, value, type ) {
@@
-435,12
+436,12
@@
jQuery.fn = jQuery.prototype = {
}
// Check to see if we're setting style values
}
// Check to see if we're setting style values
- return this.each(function(){
+ return this.each(function(index){
// Set all the styles
for ( var prop in obj )
jQuery.attr(
type ? this.style : this,
// Set all the styles
for ( var prop in obj )
jQuery.attr(
type ? this.style : this,
- prop, jQuery.prop(this, obj[prop], type)
+ prop, jQuery.prop(this, obj[prop], type, index, prop)
);
});
},
);
});
},
@@
-984,7
+985,7
@@
jQuery.fn = jQuery.prototype = {
add: function(t) {
return this.pushStack( jQuery.merge(
this.get(),
add: function(t) {
return this.pushStack( jQuery.merge(
this.get(),
- typeof t == "string" ? jQuery(t).get() : t )
+ typeof t == "string" ? jQuery(t).get() : t.length ? t : [t] )
);
},
);
},
@@
-1261,13
+1262,16
@@
jQuery.extend({
return obj;
},
return obj;
},
- prop: function(elem, value, type){
+ prop: function(elem, value, type, index, prop){
// Handle executable functions
if ( jQuery.isFunction( value ) )
// Handle executable functions
if ( jQuery.isFunction( value ) )
- return value.call( elem );
+ return value.call( elem, [index] );
+
+ // exclude the following css properties to add px
+ var exclude = /z-?index|font-?weight|opacity/i;
// Handle passing in a number to a CSS property
// Handle passing in a number to a CSS property
- if ( value.constructor == Number && type == "curCSS" )
+ if ( value.constructor == Number && type == "curCSS" && !exclude.test(prop) )
return value + "px";
return value;
return value + "px";
return value;
@@
-1552,21
+1556,22
@@
jQuery.extend({
/**
* Merge two arrays together, removing all duplicates.
*
/**
* Merge two arrays together, removing all duplicates.
*
- * The new array is: All the results from the first array, followed
- * by the unique results from the second array.
+ * The result is the altered first argument with
+ * the unique elements from the second array added.
*
* @example $.merge( [0,1,2], [2,3,4] )
* @result [0,1,2,3,4]
* @desc Merges two arrays, removing the duplicate 2
*
*
* @example $.merge( [0,1,2], [2,3,4] )
* @result [0,1,2,3,4]
* @desc Merges two arrays, removing the duplicate 2
*
- * @example $.merge( [3,2,1], [4,3,2] )
- * @result [3,2,1,4]
+ * @example var array = [3,2,1];
+ * $.merge( array, [4,3,2] )
+ * @result array == [3,2,1,4]
* @desc Merges two arrays, removing the duplicates 3 and 2
*
* @name $.merge
* @type Array
* @desc Merges two arrays, removing the duplicates 3 and 2
*
* @name $.merge
* @type Array
- * @param Array first The first array to merge.
- * @param Array second The second array to merge.
+ * @param Array first The first array to merge, the unique elements of second added.
+ * @param Array second The second array to merge into the first, unaltered.
* @cat JavaScript
*/
merge: function(first, second) {
* @cat JavaScript
*/
merge: function(first, second) {