我正在开发一个需要在 IE Mobile 中运行的移动网络应用程序。我已经缩小了一个 JavaScript 错误,我正在访问 IE Mobile 不支持 ' className
' 属性(IE4 引擎...)。我正在尝试找到一种适用于所有浏览器且代码更改最少的替代方案(我已经有一些使用“className
”的库)。
我能想到的最简单的方法是修改 IE 的元素原型(prototype)以包含 className(如果它没有),问题是我不知道' className
的替代方法是什么' 在 IE Mobile 中。
我已经试过了:
element.className = element.class;
这显然行不通,因为 class
是 JavaScript 中的关键字,我的 JS 压缩器不喜欢它,而且它可能无论如何都无效。
除了在我需要修改元素类的任何地方使用“setAttribute()”之外,是否有任何我可以使用的属性等同于 className?
最佳答案
虽然您无法避免使用 setAttribute()
,但您可以从 jQuery 剧本中取出一行并使用带有可选参数的帮助程序。此代码未经测试,但应该可以工作:
var className = function (obj, value)
{
if (value !== undefined)
{
return obj.setAttribute ('class', value);
}
return obj.getAttribute ('class');
};
// Use as
alert (className (element));
className (element, "foo");
alert (className (element));
关于javascript - 在 IE Mobile 的 JavaScript 中替代 'className'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728447/