输入[type ="range"]选择器在IE7中不起作用

Nik*_*nov 0 javascript jquery jquery-selectors internet-explorer-7

我有几个范围输入,我必须在浏览器中保持一致,所以我使用jQuery UI滑块.问题不是那个部分,而是实际上是获得这些元素.

这是输入的外观:

<input type="range" name="..." value="..." min="..." max="..." />
Run Code Online (Sandbox Code Playgroud)

input[type="range"]除了IE7之外,每次浏览都可以选择它们(IE8很好).代码应该在Wordpress 3.1上运行,所以我必须使用jQuery 1.4.

我目前通过在范围输入中添加一个类来解决它并且工作正常,但我想知道在IE7中这个选择器有什么问题?

Dan*_*elB 5

IE7及更低版本会自动转换为type="text".试试这个,你会看到

alert($('input').attr('type')); // alerts "text"
Run Code Online (Sandbox Code Playgroud)

因此您的选择器不匹配.

您可以data-type仅为jQuery选择添加而不是类

<input data-type="range" type="range" name="..." value="..." min="..." max="..." />
Run Code Online (Sandbox Code Playgroud)

并使用

$('input[data-type="range"]')
Run Code Online (Sandbox Code Playgroud)