Some JavaScript code can overwrite IE7 fixes. The className
and
runtimeStyle
properties of elements are used frequently by IE7 and should
be avoided if possible. If you must allocate classes, use the following scripting technique
to preserve IE7 classes:
// className functions
// Dean Edwards 2004.10.24
function addClass(element, className) {
if (!hasClass(element, className)) {
if (element.className) element.className += " " + className;
else element.className = className;
}
};
function removeClass(element, className) {
var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");
element.className = element.className.replace(regexp, "$2");
};
function hasClass(element, className) {
var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");
return regexp.test(element.className);
};