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) 数据选择器的主要内容,如果未能解决你的问题,请参考以下文章

jquery有几种选择器

jQuery选择器。 5.21 《深夜还在编码的你》

JavaScript之jQuery-2 jQuery选择器(jQuery选择器基本选择器层次选择器过滤选择器表单选择器)

jQuery之选择器

jQuery 如何通过 ID 选择器 获取动态ID

jQuery 选择器没有特定的数据属性