如何让这个jQuery在IE浏览器中工作?

时间:2011-05-03 15:16:10

标签: javascript jquery internet-explorer

使用以下代码将提交按钮动态更改为基于图像的按钮。

marker2 = jQuery('<span class="marker"> </span>').insertBefore('input#ResetDatesButton');
jQuery('input#ResetDatesButton').detach().attr('type', 'image').attr('src',theme_folder+'/style/images/ResetDatesButton.png').insertAfter(marker2);
marker2.remove();

这在FF,Chrome和Safari中运行得非常好,但在IE6,7和8中完全失败。然后按钮被删除,但没有被替换。如何在IE中实现相同的结果?

2 个答案:

答案 0 :(得分:3)

IE不允许您动态更改表单输入的type属性。 您唯一的选择是删除元素并将其替换为正确类型的新元素

答案 1 :(得分:1)

Internet Explorer不允许动态更改input[type]。这是讨论它的另一个主题:change type of input field with jQuery

然后,jQuery无法正常工作。

您将:

  • input[type=button]上使用CSS显示所需图片并隐藏文字。
  • 或者隐藏input,在a标记上添加您想要的图片,并设置click()以调用input.click()

修改

Here是一个小样本,展示了如何将input[type=button]替换为另一个控件(您可以使用CSS来显示它的方式),然后触发按钮点击。