我正在使用jquery-1.11.1,我尝试使用
中描述的:data选择器https://api.jqueryui.com/data-selector/
尝试找到具有某个键的所有元素,如下所示:
var elements = $(':data(kendoMobileScroller)');
但我得到的只是一个错误说:
错误:语法错误,无法识别的表达式:unsupported pseudo:data
不应该有这样的选择器吗?
答案 0 :(得分:12)
您需要包含jQuery UI才能使:data
伪选择器正常工作,例如:
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
或者只是扩展jQuery:
$.extend( $.expr[ ":" ], {
data: $.expr.createPseudo ?
$.expr.createPseudo(function( dataName ) {
return function( elem ) {
return !!$.data( elem, dataName );
};
}) :
// support: jQuery <1.8
function( elem, i, match ) {
return !!$.data( elem, match[ 3 ] );
}
});
答案 1 :(得分:1)
我知道这是前一段时间被问到的,但是对于任何有机会的人你都可以使用css属性选择器
startIndex
答案 2 :(得分:0)
我收到了错误
错误:语法错误,无法识别的表达式:unsupported pseudo:data
因为找不到:data() Selector
。
使用Rails Asset Pipeline和Yarn,我需要将//= require jquery-ui/ui/data
添加到application.js
清单中。这样可以确保找到jquery-ui :data() Selector
。
对于像Webpack这样的其他构建系统,您可能需要require('jquery-ui/ui/data')
,或者针对jquery-ui-dist
或jquery-ui-bundle
进行构建。 See this answer for more details