不为空的自定义数据属性上的 jQuery 选择器

Posted

技术标签:

【中文标题】不为空的自定义数据属性上的 jQuery 选择器【英文标题】:jQuery selectors on custom data attribute that are not empty 【发布时间】:2014-04-06 08:01:04 【问题描述】:

我想为每个具有data-custom-tooltipset 的元素创建一个简单的 jQuery 自定义工具提示插件。所以,类似:

<a href= . . . " data-custom-tooltip="This is my tooltip Text">Hhahaha</a>

<button data-custom-tooltip="This is my tooltip for the button Tex">Haha Button :) </button >

因此,仅当data-custom-tooltipNOT 为空时,才会触发显示工具提示的功能。

足够接近这个:jQuery selectors on custom data attributes using html5

【问题讨论】:

试试这个链接...***.com/questions/4146502/… 问题是:显示工具提示的功能是什么,所以只有在 data-custom-tooltip 不为空时才会触发它?? 【参考方案1】:

试试

.filter()

var tooltip_el = $('[data-custom-tooltip]').filter(function () 
    return $.trim($(this).data('custom-tooltip')) != '';
);

【讨论】:

【参考方案2】:

这样使用

$("[data-custom-tooltip]:not([data-custom-tooltip='']").click(function()alert("clicked"););

fiddle

【讨论】:

这正是我想要的。谢谢 @JanvierDesigns 很高兴为您提供帮助 由于某种原因,将其与live() 一起使用似乎不起作用,但与on() 一起使用却可以。 live 自 1.7 以来已被弃用,并在 1.9 中被删除!您使用的是什么旧版本的 jQuery。【参考方案3】:

您可以使用:not() selector 并删除空的

$('[data-custom-tooltip]:not([data-custom-tooltip=""])')

$('[data-custom-tooltip]').not('[data-custom-tooltip=""]')

或基于@VisioN said in the comments 和Not Equal Selector

var xxx = $('[data-custom-tooltip][data-custom-tooltip!=""]');

【讨论】:

$('[data-custom-tooltip!=""]') 似乎更合乎逻辑...? @VisioN 它也会选择没有 data-custom-tooltip 属性的元素。 @VisioN 是的,稍作修改。

以上是关于不为空的自定义数据属性上的 jQuery 选择器的主要内容,如果未能解决你的问题,请参考以下文章

jquery内容选择器(匹配内容不为空的元素)

如何使用JQuery在输入中选择其孩子在最后一个不为空的父级的上一个兄弟姐妹

iview表单验证一直提示为空的几个原因?

选择字段不为空的数据

从 Postgres 中的 JSONB 字段中选择不为空的值

数据透视表:隐藏两列不为空的行