jquery数据选择器

jquery数据选择器

我需要根据存储在元素.data()对象中的值来选择元素。至少,我想使用选择器选择顶级数据属性,可能是这样的:

$('a').data("category","music");$('a:data(category=music)');

或者选择器可能采用常规属性选择器格式:

$('a[category=music]');

或者以属性格式,但使用说明符指示它在.data()

$('a[:category=music]');

我发现James Padolsey的实现看起来很简单,但很好。选择器格式化在该页面上显示的镜像方法。还有这个Sizzle补丁

出于某种原因,我记得有一段时间回顾jQuery 1.4将包含对jquery .data()对象中值的选择器的支持。但是,现在我正在寻找它,我找不到它。也许这只是我看到的一个功能请求。是否有支持,我只是没有看到它?

理想情况下,我想使用点表示法支持data()中的子属性。像这样:

$('a').data("user",{name: {first:"Tom",last:"Smith"},username: "tomsmith"});$('a[:user.name.first=Tom]');

我还想支持多个数据选择器,其中只找到具有所有指定数据选择器的元素。常规jquery多选择器执行OR操作。例如,$('a.big, a.small')选择a带有类big或标签的标签small。我正在寻找一个AND,也许是这样的:

$('a').data("artist",{id: 3281, name: "Madonna"});$('a').data("category","music");$('a[:category=music && :artist.name=Madonna]');

最后,如果数据选择器上有比较运算符和正则表达式功能,那将会很棒。所以$(a[:artist.id>5000])可能。我意识到我可能会做很多这样的事情filter(),但是有一个简单的选择器格式会很好。

有什么解决方案可以做到这一点?Jame的Padolsey是目前最好的解决方案吗?我主要关注的是性能,还有子属性点符号和多数据选择器等额外功能。是否有其他实现支持这些内容或以某种方式更好?


繁星淼淼
浏览 411回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery