Javascript 名称id或类中的正则表达式?
例如,我有:Javascript 名称id或类中的正则表达式?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,例如,我有: <span id="name1">name1</span> <span id="name2">name2</span> <span id="name3">name3</span> <span id="name4">name4</span> <span id="name5">name5</span> 等 我想要一些东西: $("#name [1-5] ").cl
<span id="name1">name1</span>
<span id="name2">name2</span>
<span id="name3">name3</span>
<span id="name4">name4</span>
<span id="name5">name5</span>
等
我想要一些东西:
$("#name [1-5] ").click(function(){
$(this).css('background-color', 'red');
});
我不会加课。我想将其用于id和正则表达式。您可以使用匹配id(或任何属性值)的开头
$("span[id^='name']").click(function(){
$(this).css('background-color', 'red');
});
是否可以使用
span
作为选择器?您可能需要更具体一些,例如,也传递parents类:。parentClass span
您有几个选项:
$("span").filter(function(){
return /name[1-5]/.test($(this).attr('id'));
}).click(function(){
});
对于(var i=1;i如果这些是您唯一的span元素,您可以执行以下操作
$('span').each(function(i) {
$(this).click(function() { $(this).css('background-color', 'red'); }
});
或者,如果它们是ID以“name”开头的唯一元素,则可以使用jQuery“starts with”选择器
您可以在循环中构造用于$-选择的字符串,如
for (var i = 1; i < 6; i++){
var sel = '#name'+i;
$(sel).doWhatever();
}
for(变量i=1;i<6;i++){
var sel='#name'+i;
$(sel.doWhatever();
}
尽管我仍然认为以jQuery的方式选择它们(比如$('#parentElement').find('span'))或使用类可能是更好的解决方案,但上面的答案是可以的,但我实际上认为如果可以添加类,就应该添加。这就是类的用途——标记类似/相关的元素 如果您只有几个ID/类,那么应该使用“#id1,#id2,…”选择器
如果有多个,为了语义和可维护的代码和标记,您必须添加类谢谢,如果我有例如“name1xxx,name2xxx,name10xxx”等,会怎么样?我想使用3方法。您可以执行
$('span[id^=“name”]')。筛选('span[id$=“xxx”'))要获取任何以
name`开头并以xxx结尾的内容。谢谢,如果我有例如“name1xxx、name2xxx、name10xxx等”,那么有带有选择器的结尾:$([id$='xxx'])
我可以合并两个选择器吗?^和&?谢谢,如果我有例如“name1xxx、name2xxx、name1xxx、name10xxx”呢etc?这将选择以“名称”开头的所有内容,因此也将选择这些内容。这是您想要的,还是您需要不选择这些内容?我有自动生成的ID,name1xxx,name2xxyy,name10xxx,name100xxxyyy等。我想知道如何操作:)$(“[ID^=“name”]”将选择以“名称”开头的所有内容,例如名称1、名称10、名称2xxxyy等。。。
$('[id ^= "name"]').each(function(i) {
$(this).click(function() { $(this).css('background-color', 'red');
});
for (var i = 1; i < 6; i++){
var sel = '#name'+i;
$(sel).doWhatever();
}