fà quello che deve fare, ovvero cambiare dei valori di alcune proprietà,
ma essendo che vengono modificate le proprietà di un oggetto JScript,
alcune parole come class, for hanno un nome diverso..
dopo aver letto l'articolo su delete.me.uk
ho deciso di utilizzare il metodo ben spiegato per risolvere
i problemi su class,for e style e l'associazione di eventi on...
ho usato un commento condizionale, includendo il codice sotto riportato si ottiene un setAttribute piu' standard.
naturalmente per aggiungere un evento nell'onload dovrete poi usare una funzione del genere:
/*@cc_on
Element = function () {};
Element.prototype.getAttribute = function (attribute) {
if (attribute == "class") attribute = "className";
if (attribute == "for") attribute = "htmlFor";
if (attribute == "style") return this.style.cssText;
else return this[attribute];
}
Element.prototype.setAttribute = function (attribute, value) {
if (attribute == "class") attribute = "className";
if (attribute == "for") attribute = "htmlFor";
if (attribute == "style") this.style.cssText =value;
else
if(value.indexOf("on")!=0)
this[attribute] = function(){eval(value)};
else
this[attribute] = value;
}
var __IEcreateElement = document.createElement;
document.createElement = function (tagName) {
var element = __IEcreateElement(tagName);
element.getAttribute=interface.getAttribute;
element.setAttribute=interface.setAttribute;
return element;
}
var interface = new Element;
onload=function(){
var list=document.all;
var max=list.length;
while(--max)
{
list[max].getAttribute=interface.getAttribute;
list[max].setAttribute=interface.setAttribute;
}
}
@*/
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof oldonload != 'function') {
window.onload = func;
}
else {
window.onload = function() {
oldonload();
func();
}
}
}