3

然后我试图创建一个新元素,例如

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

所有浏览器都会创建一个带有“name”类的新元素。但在 Internet Explorer 9 和 10 中,我有这个

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

如您所见,它创建了 className 属性而不是 class。我怎样才能解决这个问题?

4

3 回答 3

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';
于 2012-05-02T19:20:54.633 回答
0

代替

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

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

正如http://prototypejs.org/api/element/classNames元素所建议的那样。类名('名称');已弃用,您应该使用 Element。添加类名()。

于 2012-05-02T19:32:33.293 回答
0

请在此处查看我的答案:

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

基本上,Prototype 1.6 在那些版本的 IE 中是有缺陷的。您应该更新原型。问题是 Element._attributeTranslations.write 中包含的翻译列表

原型 1.6.0.3 中的 Object Element._attributeTranslations.write

这是 Prototype 1.7 中的列表(我想是以上)

原型 1.7+ 中的 Element._attributeTranslations.write

我想这适用于旧版本的 IE(这可能是 IE9 之前的版本)。

于 2013-12-18T21:01:22.110 回答