我有一个非常有趣的问题。我正在写一个插件,它允许你放大/缩小图像。我有三个按钮:关闭(关闭窗口),放大,缩小。放大/缩小按钮也有禁用的版本。当您达到最小/最大缩放量时,它将被激活。
如果您打开要缩放的图片,您可以看到一个活动的缩小按钮和一个禁用的放大按钮(因为我在打开时设置了最大值)。当您第一次单击缩小按钮时,放大按钮应该会删除禁用的类。它在Safara、Chrome、Firefox3.6/4/5、IE8上运行良好,但在IE7上运行不佳。
放大按钮有一个ID和类,我想强制IE7从元素中删除特定的类。首先,我使用了removeClass(),但它不起作用。然后我使用setAttribute(),它可以在除IE7之外的所有浏览器中运行。
下面是一个示例。所以,当你打开要缩放的图像时,缩小按钮有ID=“放大按钮”和5个类别:放大图标,放大图标,放大按钮,禁用缩放按钮,禁用放大按钮。我想删除两个“禁用”类。所以我使用这个:
var elementZoomButtonIn = document.getElementById("zoom-button-in");
elementZoomButtonIn.setAttribute("class", "zoom-icon zoom-icon-small zoom-button-in");
在插入未禁用的类之前,我尝试将类设置为空,但不起作用。
此方法在IE7中有效吗?(-:
谢谢,伙计们!
发布于 2011-06-24 16:48:37
setAttribute()
和getAttribute()
通常在IE 7和更早版本中被破坏(以及在更高版本中的兼容模式)。请改用元素的className
属性:
elementZoomButtonIn.className = "zoom-icon zoom-icon-small zoom-button-in";
即使setAttribute()
和getAttribute()
在IE中没有被破坏,使用等价的DOM属性通常仍然更容易和更可靠。
https://stackoverflow.com/questions/6465269
复制相似问题