jQuery:查找ID符合特定模式的元素

62
我正在尝试查找一个特定模式下带有id的span元素。它的主要用途是查找从母版页面派生的asp.net (aspx)页面呈现的某些元素。
3个回答

177

在已接受的答案的基础上继续讲:

这取决于你要寻找什么样的模式。如果你的模式类似于“MasterPageElement_CheckBox_4443”,“MasterPageElement_CheckBox_4448”等,则也可以使用以下代码:

$("span[id^=MasterPageElement_CheckBox]")

有三种内置属性选择器用于简单模式:

$("span[id^=foo]")

该选择器匹配所有具有 id 属性并且以 foo 开头的 span 元素(例如,fooblah)。

$("span[id$=foo]")

该选择器匹配所有具有 id 属性且以 foo 结尾的span标签(例如,blahfoo)。

$("span[id*=foo]")

该选择器匹配所有具有id属性,并且其中包含foo标签(例如blahfooblah)。


链接:*= 模式$= 模式^= 模式 - Francisco Quintero

37
$('span').each(function(){
   if( $(this).attr('id').match(/pattern/) ) {
        // your code goes here
   }
});

问题已解决。


7

我知道这是一个旧帖子,但额外的信息可以帮助未来遇到此类问题的开发人员。 :) 此外,您可以组合属性选择器来实现“以X开头并以Y结尾”的功能,以补充@cdmckay所提到的内容。

$("input[id^=inp][id$=_AddItem]")

这将匹配id为“inp1_AddItem”,“inp2_AddItem”,“inp3_AddItem”等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接