首先,我知道IE9没有input[type="number"]
支持,我很好,显示为type="text"
;我不是在找polyfill。
但是,当尝试使用$('input[type="number"]')
在jQuery中选择数字类型输入时,IE9实际上并没有选择任何内容,因为它的type-attribute已更改为text。对于它不支持的其他输入类型(例如日期和时间),情况并非如此,它将使type-attribute保持原样,只是将其type-property更改为text。
为什么会这样?
编辑以供参考:我应该指定,但我只是在IE11的IE9文档模式下测试它。 Jonathan Sampson澄清说实际IE9中不会发生这种情况。
答案 0 :(得分:2)
您正在测试IE 9的Internet Explorer 11文档模式。这与测试Internet Explorer 9的真实版本不同。在您报告时,它看起来好像是IE浏览器IE 11中的9文档模式会将<input type="number">
更改为<input type="text">
。
我将就此提出问题,让我们的工程师进一步调查此事。
在测试Internet Explorer 9时,最好以实际版本进行测试。您可以通过http://browserstack.com流式传输IE 9,或下载http://dev.modern.ie/tools/vms上的免费虚拟机。
原始答案
虽然Internet Explorer 9更改了type
属性,但它并未更改属性。因此,我无法重新报告您报告的问题。 jQuery和querySelector都将输入与Internet Explorer 9中的数字类型进行匹配。