在我的文件中,我有几个ID,以字母开头,#34; p"然后是任何数字。我想使用jQuery正则表达式模式找到它们,然后向它们添加类。你能帮我解决这个片段吗?感谢。
$(function(){
var pattern = "#p\d+";
$(pattern).addClass(".red");
});

div {
width: 100px;
height: 100px;
margin: 20px;
background: green;
}
.red {background: red;}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="p27"></div>
<div id="p46"></div>
<div id="p124"></div>
&#13;
答案 0 :(得分:3)
当然,您可以使用filter
方法应用您需要的任何特定逻辑:
$(function(){
$("div")
.filter(function() { return /^p\d+$/.test(this.id); })
.addClass("red");
});
div {
width: 100px;
height: 100px;
margin: 20px;
background: green;
}
.red {background: red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="p27"></div>
<div id="nomatch"></div>
<div id="p124"></div>
答案 1 :(得分:0)
你可以尝试
$("div").filter(function(i,e){return e.match(/^p\d+$/)!=null;}).addClass("red")
它基本上找到所有div,然后过滤掉那些与正则表达式不匹配的div,并将该类添加到其余标记中。 (我没有测试过这段代码。)
答案 2 :(得分:0)
您可以这样添加课程:
$("div[id^='p']").addClass(".red");