然后我试图创建一个新元素,例如
new Element('div',{'class':'name'});
所有浏览器都会创建一个带有“name”类的新元素。但在 Internet Explorer 9 和 10 中,我有这个
<div className="name"></div>
如您所见,它创建了 className 属性而不是 class。我怎样才能解决这个问题?
然后我试图创建一个新元素,例如
new Element('div',{'class':'name'});
所有浏览器都会创建一个带有“name”类的新元素。但在 Internet Explorer 9 和 10 中,我有这个
<div className="name"></div>
如您所见,它创建了 className 属性而不是 class。我怎样才能解决这个问题?
//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';
代替
new Element('div',{'class':'name'});
和
var mydiv = new Element('div');
mydiv.addClassName('name');
正如http://prototypejs.org/api/element/classNames元素所建议的那样。类名('名称');已弃用,您应该使用 Element。添加类名()。
请在此处查看我的答案:
https://stackoverflow.com/a/20668126/1274995
基本上,Prototype 1.6 在那些版本的 IE 中是有缺陷的。您应该更新原型。问题是 Element._attributeTranslations.write 中包含的翻译列表
这是 Prototype 1.7 中的列表(我想是以上)
我想这适用于旧版本的 IE(这可能是 IE9 之前的版本)。