gpt4 book ai didi

javascript - jQuery 通过属性值获取/选择元素

转载 作者:搜寻专家 更新时间:2023-10-31 22:11:30 26 4
gpt4 key购买 nike

有没有办法通过元素的属性值获取/选择元素,就像使用属性值一样:

$('[attribute="value"]')

例如,我会像这样使用 jQuery 设置一个属性:

$('#foo').prop('my-property', 'value');

然后我想找到一个具有属性 'my-property' 并且它具有值 'value' 的元素。

最佳答案

不,在选择器级别没有任何内容可以通过属性 值进行选择,只有(如您所知)属性值。

有些属性是属性的反射(reflect),也就是说设置属性就设置了属性,这样就可以使用属性选择器了。例如,input 元素的 defaultValue 属性反射(reflect)了它的 value 属性(它的 value 属性不是).

否则,您可以选择并使用 filter将结果列表过滤为仅包含您真正需要的元素。

重新编辑:

For example, I'd set a property using jQuery like this:

$('#foo').prop('my-property', 'value');

不,无法直接通过该属性进行选择,您需要类似我上面的filter 建议的东西:

var list = $("something-that-gets-you-close").filter(function() {
return this["my-property"] == "value";
});

您可以考虑使用 data-* 属性:

$("#foo").attr("data-my-property", "value");

然后

var list = $("[data-my-property='value']");

选择它(内引号对于匹配 CSS identifier 定义的值是可选的)。请注意,属性值始终是字符串。

注意:一直存在一种误解,认为 jQuery 的 data 函数是 data-* 属性的简单访问器。它不是。它通过 jQuery 管理与元素相关联的数据缓存,该数据缓存由 data-* 属性初始化但与它们断开连接。特别是,.data("my-property", "value") 不会让您稍后通过 [data-my-property=value] 选择器找到它。

关于javascript - jQuery 通过属性值获取/选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38595699/

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