jquery (1.8.2) 数据选择器
Posted
技术标签:
【中文标题】jquery (1.8.2) 数据选择器【英文标题】:jquery (1.8.2) data selector 【发布时间】:2012-11-20 00:30:48 【问题描述】:我正在使用 jQuery 1.8.2
我在元素上放了一个数据:
el.data('uid', 'value')
如何找到包含这些数据的元素?我试过选择器
$('.class-name:data(uid="value")')
$('.class-name[uid="value"]')
但是不行,有什么办法吗?
【问题讨论】:
【参考方案1】:如果您想使用选择器,您需要使用.attr()
并设置data-
属性。
// set data
$('p').attr('data-uid', 1234);
// find by uid
$('p[data-uid=1234]');
// find all with data-uid
$('[data-uid]')
See some examples here
【讨论】:
是的,谢谢,我就是这么做的 -) 但我确信数据选择器是开箱即用的。【参考方案2】:你可以使用filter
方法:
$('.selector').filter(function()
return $(this).data('uid') === 'value';
);
【讨论】:
【参考方案3】:搜索文档后,jquery 选择器:data()
似乎不在 jQuery 本身中,而是在 jQuery UI 的核心中。
你可以在这里找到文档:http://api.jqueryui.com/category/ui-core/
【讨论】:
谢谢,我确信 jquery 核心支持开箱即用的数据选择器。 是的,我也是这么想的,但是经过谷歌搜索后,我发现它在 jQuery UI 中。在 Chrome 中,我在尝试仅使用 jQuery 的 :data() 时看到 JS 错误。以上是关于jquery (1.8.2) 数据选择器的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript之jQuery-2 jQuery选择器(jQuery选择器基本选择器层次选择器过滤选择器表单选择器)