offset: true
},
- // TODO: Check to see if any of these are needed anymore?
- // If not, it may be good to standardize on all-lowercase names instead
- attrFix: {
-
- },
-
attr: function( elem, name, value, pass ) {
// don't get/set attributes on text, comment and attribute nodes
// Look for the name in elem.attributes.name
var attrs = elem.attributes, i = 0, len = attrs.length;
for ( ; i < len; i++ ) {
- if ( attrs[i]["name"] === name ) {
+ if ( attrs[i].name === name ) {
return true;
}
}
// Safari mis-reports the default selected property of an option
// Accessing the parent's selectedIndex property fixes it
if ( !jQuery.support.optSelected ) {
-
+
jQuery.propHooks.selected = {
get: function( elem ) {
var parent = elem.parentNode;
};
}
-})( jQuery );
+// IE6/7 do not support getting/setting some attributes with get/setAttribute
+
+if ( jQuery.support.attrFix ) {
+ var attrFix = {
+ "for": "htmlFor",
+ "class": "className",
+ readonly: "readOnly",
+ maxlength: "maxLength",
+ cellspacing: "cellSpacing",
+ rowspan: "rowSpan",
+ colspan: "colSpan",
+ tabindex: "tabIndex",
+ usemap: "useMap",
+ frameborder: "frameBorder"
+ };
+
+ jQuery.each(attrFix, function( key, name ) {
+ jQuery.attrHooks[ key ] = jQuery.extend( jQuery.attrHooks[ key ], {
+ get: function( elem ) {
+ return elem.getAttribute( name );
+ },
+ set: function( elem, value ) {
+ elem.setAttribute( name, value );
+ return value;
+ }
+ });
+ });
+}
\ No newline at end of file
var div = document.createElement("div");
div.style.display = "none";
+ div.setAttribute("className", "t");
div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
+
var all = div.getElementsByTagName("*"),
a = div.getElementsByTagName("a")[0],
select = document.createElement("select"),
// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
optSelected: opt.selected,
+ attrFix: div.getAttribute("className") === "t",
+
// Will be defined later
deleteExpando: true,
optDisabled: false,