javascript - 在 IE Mobile 的 JavaScript 中替代 'className'?

标签 javascript ie-mobile

我正在开发一个需要在 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/

相关文章:

windows-mobile - Internet Explorer 6 移动版是否可以在 Windows Mobile 6.5 平台上升级?

JavaScript 问题

javascript - 在 IE Mobile 中捕获 javascript 事件

js 加载页面中的 Javascript(和 ajax)事件处理程序

javascript - React Native - Android 应用程序在 Debug 上工作,在 Release 上崩溃

javascript - Windows Mobile 中将 Enter 转换为 Tab

javascript - 从 IE Mobile 中的 iframe 中的脚本访问父级的 DOM

iphone - 如何使一个简单的网站在多个移动浏览器上正确呈现?

javascript - ajaxComplete 不适用于我的 SlideUp

javascript - 如何从构造函数中使用/导入 App.vue 中的数据