aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2007-01-08 01:12:21 +0000
committerJohn Resig <jeresig@gmail.com>2007-01-08 01:12:21 +0000
commitb603ca03c460bad9d8cf367ddc0f18ef46a2ef2d (patch)
treeb0eef97ef68fee848c43b651298f6f38afa82780
parent12e63353391f1a556a73fe92bcd8e5f0ac277726 (diff)
downloadjquery-b603ca03c460bad9d8cf367ddc0f18ef46a2ef2d.tar.gz
jquery-b603ca03c460bad9d8cf367ddc0f18ef46a2ef2d.zip
I broke out the ${...} functionality into a separate plugin so that we can develop it further. I left a hook in jquery.js so that this can be done, plus I left in the function() functionality.
-rw-r--r--src/jquery/jquery.js29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index c6f2a9b8e..50549bb14 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -439,17 +439,15 @@ jQuery.fn = jQuery.prototype = {
for ( var prop in key )
jQuery.attr(
type ? this.style : this,
- prop, jQuery.parseSetter(key[prop])
+ prop, jQuery.prop(this, prop, key[prop], type)
);
// See if we're setting a single key/value style
- else {
- // convert ${this.property} to function returnung that property
+ else
jQuery.attr(
type ? this.style : this,
- key, jQuery.parseSetter(value)
+ key, jQuery.prop(this, key, value, type)
);
- }
}) :
// Look for the case where we're accessing a style value
@@ -1233,6 +1231,12 @@ jQuery.extend({
if ( fn.apply( obj[i], args || [i, obj[i]] ) === false ) break;
return obj;
},
+
+ prop: function(elem, key, value){
+ // Handle executable functions
+ return value.constructor == Function &&
+ value.call( elem, val ) || value;
+ },
className: {
add: function( elem, c ){
@@ -1399,16 +1403,6 @@ jQuery.extend({
return r;
},
- parseSetter: function(value) {
- if( typeof value == "string" && value.charAt(0) == "$" ) {
- var m = value.match(/{(.*)}$/);
- if ( m && m[1] ) {
- value = new Function( "return " + m[1] );
- }
- }
- return value;
- },
-
attr: function(elem, name, value){
var fix = {
"for": "htmlFor",
@@ -1424,11 +1418,6 @@ jQuery.extend({
selected: "selected"
};
- // get value if a function is provided
- if ( value && typeof value == "function" ) {
- value = value.apply( elem );
- }
-
// IE actually uses filters for opacity ... elem is actually elem.style
if ( name == "opacity" && jQuery.browser.msie && value != undefined ) {
// IE has trouble with opacity if it does not have layout