jquery每次匹配都不起作用
无论如何,我想做一个判断,如果 div 的 id 匹配某些内容,则为其添加类。我的代码在这里,但每次匹配都不起作用。请帮忙,谢谢。
<script>
$(document).ready(function(){
var num = '3';
$('.ddd').each(function(){
if($(this).attr('id').match(/^'id'+num$/)){
$(this).addClass('eee');
}
});
});
</script>
<style>
.ddd{float:left;display:block;background:#9FF;width:50px;height:50px;margin:10px;}
.eee{background:#F36!important;}
</style>
<div class="ddd" id="id1"></div>
<div class="ddd" id="id2"></div>
<div class="ddd" id="id3"></div>
<div class="ddd" id="id4"></div>
<div class="ddd" id="id5"></div>
<div class="ddd" id="id6"></div>
<div class="ddd" id="id7"></div>
In anyway, I want make a judge, if div's id match something, then add class to it. My code here, but each match not work. pls help, thx.
<script>
$(document).ready(function(){
var num = '3';
$('.ddd').each(function(){
if($(this).attr('id').match(/^'id'+num$/)){
$(this).addClass('eee');
}
});
});
</script>
<style>
.ddd{float:left;display:block;background:#9FF;width:50px;height:50px;margin:10px;}
.eee{background:#F36!important;}
</style>
<div class="ddd" id="id1"></div>
<div class="ddd" id="id2"></div>
<div class="ddd" id="id3"></div>
<div class="ddd" id="id4"></div>
<div class="ddd" id="id5"></div>
<div class="ddd" id="id6"></div>
<div class="ddd" id="id7"></div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
更新:
您可以简单地使用 以选择器开头
^=
< /a> 并像这样应用类:这会将
eee
类应用于具有以文本id
开头的id
属性的所有元素:)Update:
You can simply use starts with selector
^=
and apply class like this:This will apply
eee
class to all elements that have anid
attribute starting with textid
:)您可能应该听所有这些人说您应该使用实际的 id (
#id
) 选择器或属性 ([attribute=value]
) 选择器,但要回答你的问题,我会指出你做错了什么。创建需要在其中封装变量的“动态”正则表达式时,您应该使用
new RegExp
构造函数而不是内联语法/rule/
。此外,如果您只想测试某些东西是否符合正则表达式,您可能应该使用正则表达式的test
方法。 :You should probably listen to all these guys saying that you should use the actual id (
#id
) selector or the attribute ([attribute=value]
) selector, but to answer your question, I'm going to point out what you did wrong.When creating "dynamic" regular expressions that need to encapsulate variables in them you should use the
new RegExp
constructor instead of the inline syntax/rule/
. Moreover, if you just want to test if something mathces a regex, you should probably use the regex'stest
method. :保持简单:)
keep it simple :)