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
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 ){
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",
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