【问题标题】:jquery (1.8.2) data selectorjquery (1.8.2) 数据选择器
【发布时间】:2012-11-20 00:30:48
【问题描述】:

我正在使用 jQuery 1.8.2

我在元素上放了一个数据:

el.data('uid', 'value')

如何找到包含这些数据的元素?我试过选择器

$('.class-name:data(uid="value")')
$('.class-name[uid="value"]')

但是不行,有什么办法吗?

【问题讨论】:

    标签: jquery jquery-selectors attributes


    【解决方案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 错误。
      猜你喜欢
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2012-11-29
      相关资源
      最近更新 更多