gpt4 book ai didi

jquery 数据选择器

转载 作者:IT王子 更新时间:2023-10-29 03:24:01 25 4
gpt4 key购买 nike

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

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

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

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

或者在属性格式中,但是有一个说明符来指示它在 .data() 中:

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

我找到了 James Padolsey's implementation看起来简单,但很好。上面显示的镜像方法的选择器格式显示在该页面上。还有这个Sizzle patch .

出于某种原因,我记得前一段时间读到 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') 选择具有类 bigsmall a 标签)。我正在寻找一个 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是不是这个时候最好的方案?我主要关心的是性能,还有子属性点符号和多个数据选择器等额外功能。是否有其他实现支持这些东西或在某些方面更好?

最佳答案

目前我是这样选择的:

$('a[data-attribute=true]')

这似乎工作得很好,但如果 jQuery 能够通过没有“数据-”前缀的属性进行选择,那就太好了。

我还没有使用通过 jQuery 动态添加到元素的数据对此进行测试,因此这可能是该方法的失败之处。

关于jquery 数据选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com