我正在使用jquery,我正在循环:
$("span").each(function (index) {
var idname = $(this).attr('id');
$("#" + idname).click(function () {
window.location.href = "http://" + $(this).attr('id') + "lin.gw";
});
}); //end for click attachment to button
我想循环id
包含*raid*
的元素。它的语法是什么?
答案 0 :(得分:5)
使用attribute-contains selector:
$("span[id*=raid]").click(function(){
window.location.href = "http://"+ this.id +"lin.gw";
});
答案 1 :(得分:1)
最好的方法是使用filter
删除您不想要的元素:
$("span").filter(function() {
if (this.id.toLowerCase().indexOf('raid') !== -1) {
return true;
} else {
return false;
}
}).click(function(){
window.location.href="http://"+this.id+"lin.gw";
});
这使用this.id
(远远高于$(this).attr('id')
)并使用单click
次调用,而不是使用each
,这更加清晰,性能略有提升
答案 2 :(得分:0)
通过'喜欢' raid “'我认为你的意思是它包含”raid“。最简单的方法是测试正则表达式:/raid/.test(idname)
。如果它像“raid”那样返回true
,如果不是,则返回false
。
答案 3 :(得分:0)
你可以使用正则表达式。以下是正则表达式电子邮件匹配的示例。您可以编写自己的正则表达式并检查“id name”是否包含“raid”。
function IsValidEmail(email) {
var filter = /^([\w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([\w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/;
return filter.test(email);
}