* @cat DOM/Attributes
*/
text: function(e) {
- if ( typeof e == "string" )
+ if ( typeof e != "object" && e != null )
return this.empty().append( document.createTextNode( e ) );
var t = "";
/**
* Searches for all elements that match the specified expression.
-
+ *
* This method is a good way to find additional descendant
* elements with which to process.
*
obj = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody"));
jQuery.each( a, function(){
- fn.apply( obj, [ clone ? this.cloneNode(true) : this ] );
+ if ( jQuery.nodeName(this, "script") ) {
+ if ( this.src )
+ jQuery.ajax({ url: this.src, async: false, dataType: "script" });
+ else
+ (new Function( this.text || this.textContent || this.innerHTML || "" ))();
+ } else
+ fn.apply( obj, [ clone ? this.cloneNode(true) : this ] );
});
-
});
}
};
}
if (prop.match(/float/i))
- prop = jQuery.browser.msie ? "styleFloat" : "cssFloat";
+ prop = jQuery.styleFloat;
if (!force && elem.style[prop])
ret = elem.style[prop];
ret = c && c.getPropertyValue(prop) || "";
});
+ if ( prop == "opacity" && ret == "" )
+ ret = "1";
+
} else if (elem.currentStyle) {
var newProp = prop.replace(/\-(\w)/g,function(m,c){return c.toUpperCase();});
ret = elem.currentStyle[prop] || elem.currentStyle[newProp];
arg = jQuery.makeArray( div.childNodes );
}
- if ( 0 === arg.length && !jQuery(arg).is("form, select") )
+ if ( 0 === arg.length && (!jQuery.nodeName(arg, "form") && !jQuery.nodeName(arg, "select")) )
return;
if ( arg[0] == undefined || jQuery.nodeName(arg, "form") || arg.options )
// IE elem.getAttribute passes even for style
else if ( elem.tagName ) {
- // IE actually uses filters for opacity ... elem is actually elem.style
+
+
+ if ( value != undefined ) elem.setAttribute( name, value );
+ if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) )
+ return elem.getAttribute( name, 2 );
+ return elem.getAttribute( name );
+
+ // elem is actually elem.style ... set the style
+ } else {
+ // IE actually uses filters for opacity
if ( name == "opacity" && jQuery.browser.msie ) {
if ( value != undefined ) {
// IE has trouble with opacity if it does not have layout
return elem.filter ?
(parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() : "";
}
-
- if ( value != undefined ) elem.setAttribute( name, value );
- if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) )
- return elem.getAttribute( name, 2 );
- return elem.getAttribute( name );
-
- // elem is actually elem.style ... set the style
- } else {
name = name.replace(/-([a-z])/ig,function(z,b){return b.toUpperCase();});
if ( value != undefined ) elem[name] = value;
return elem[name];
* @cat JavaScript
*/
trim: function(t){
- return t.replace(/^\s+|\s+$/g, "");
+ return (t||"").replace(/^\s+|\s+$/g, "");
},
makeArray: function( a ) {
unique: function(first) {
var r = [], num = jQuery.mergeNum++;
- for ( var i = 0, fl = first.length; i < fl; i++ )
- if ( num != first[i].mergeNum ) {
- first[i].mergeNum = num;
- r.push(first[i]);
- }
+ try {
+ for ( var i = 0, fl = first.length; i < fl; i++ )
+ if ( num != first[i].mergeNum ) {
+ first[i].mergeNum = num;
+ r.push(first[i]);
+ }
+ } catch(e) {
+ r = first;
+ }
return r;
},
// Figure out what browser is being used
jQuery.browser = {
- version: b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)[1],
+ version: (b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
safari: /webkit/.test(b),
opera: /opera/.test(b),
msie: /msie/.test(b) && !/opera/.test(b),
// Check to see if the W3C box model is being used
jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat";
+ jQuery.styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat",
+
jQuery.props = {
"for": "htmlFor",
"class": "className",
- "float": jQuery.browser.msie ? "styleFloat" : "cssFloat",
- cssFloat: jQuery.browser.msie ? "styleFloat" : "cssFloat",
- styleFloat: jQuery.browser.msie ? "styleFloat" : "cssFloat",
+ "float": jQuery.styleFloat,
+ cssFloat: jQuery.styleFloat,
+ styleFloat: jQuery.styleFloat,
innerHTML: "innerHTML",
className: "className",
value: "value",