You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery的:contains选择器获取多个匹配的label元素?

如何获取jQuery中所有匹配contains选择器的元素属性?

你当前的问题在于,label.attr('for')只会返回第一个匹配元素的for属性值,要获取所有匹配元素的属性,需要遍历每个元素,以下是两种可行方案:

方案1:使用.each()遍历输出

通过.each()方法循环所有匹配的label元素,逐个获取并输出for属性:

$('label:contains(My Name is)').each(function() {
    console.log($(this).attr('for'));
});

这段代码会依次在控制台输出michel和allen。

方案2:使用.map()收集为数组

如果需要将所有for属性值整理成数组,方便后续批量处理,可以用.map():

const allForValues = $('label:contains(My Name is)').map(function() {
    return $(this).attr('for');
}).get();
console.log(allForValues); // 输出 ["michel", "allen"]

.map()会收集每个元素返回的属性值,最后通过.get()将jQuery对象转换为普通数组。

补充说明

jQuery的attr()方法在匹配多个元素时,默认仅返回第一个元素的属性值,这是它的内置行为。因此处理多元素时,必须通过遍历或映射的方式逐个处理每个匹配项。

内容的提问来源于stack exchange,提问作者Amado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 20:45:03