2012-04-07 6 views
3

Dann ein neues Element mit, denn ich bin versucht Beispiel erstellenPrototype.js 1.6 neue Elementklasse und IE> = 9

new Element('div',{'class':'name'}); 

alle Browser mit Klasse "name" ein neues Element zu erstellen. Aber in Internet Explorer 9 und 10 habe ich diese

<div className="name"></div> 

Wie Sie sehen, erstellt ClassName-Attribut anstelle der Klasse. Wie kann ich das beheben?

Antwort

3
//This generates 'className': 
var popoutControl = new Element('div', {'class':'mySuperCoolClassName'}); 

// Break the line up into two lines. 
// The following will generate a 'class' attribute instead: 
var popoutControl = new Element('div'); 
popoutControl.className = 'mySuperCoolClassName'; 
0

new Element('div',{'class':'name'}); 

mit

var mydiv = new Element('div'); 
mydiv.addClassName('name'); 

ersetzen Wie aus http://prototypejs.org/api/element/classNames Element vorgeschlagen. Klassenname ('Name'); ist veraltet und Sie sollten Element verwenden. addClassName().

0

Bitte lesen Sie meine Antwort hier:

https://stackoverflow.com/a/20668126/1274995

Grundsätzlich Prototype 1.6 Buggy in diesen Versionen von IE ist. Sie sollten Prototype aktualisieren. das Problem ist, die in Element._attributeTranslations.write enthaltenen Übersetzungsliste

Object Element._attributeTranslations.write in Prototype 1.6.0.3

Dies ist die Liste in Prototype ist 1.7 (und höher, nehme ich an)

Element._attributeTranslations.write in Prototype 1.7+

Ich denke, das ist in ältere Versionen von IE (die wahrscheinlich vor IE9 aktuell waren).