2016-05-31 92 views
5

你好,我有一个相当简单的问题。我使用HTML5范围滑块类型:<input type="range">,我想通过jQuery来触发它。HTML5范围 - 不支持伪:范围

我用下面的代码:

$("form input:range").each(function() { 
    // Do something 
}); 

出于某种原因,我得到以下错误:

! Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: range

也许重要的是:我用jQuery的1.12.1.min.js

有没有人现在为什么这是,我怎么能解决这个问题?

+1

错误指出了确切的问题,jQuery中没有':range'选择器。 –

+0

请阅读这篇文章:http://stackoverflow.com/questions/10004723/html5-input-type-range-show-range-value –

回答

6

试试这个:

jQuery("input[type=range]") 

:是获取某种元信息,通常与用户正在使用的元素做。

例如::hover仅适用于用户将光标置于其上的元素,而:visible是用户可以看到的元素。

编辑

PranavÇ巴兰的回答更好的解释是怎么回事:HTML5 range - unsupported pseudo: range

5

有一个在CSS或jQuery的无伪:range选择。相反,你可以使用attribute equals selector

$("form input[type='range']").each(function() { 
    // Do something 
}); 

对于所有支持的选择列表,请访问:JQuery Selectors

1

是的,你需要使用属性等于选择:

jQuery("input[type=range]") 

有使用:in-range:out-of-range css选择器,您可以使用最小和最大取值范围:

$("form input:in-range").each(function() { 
    // Do something 
}); 

但是唉!没有:range选择器。