如果:
var obj=[6849,6850]
我需要从页面上一系列链接的href
属性中获取这两个数字。以下代码正在考虑6850
,而不是6849
。
jQuery(document).ready(function() {
jQuery('a.title').each(function () {
var links=jQuery(this).attr('href');
if(links.indexOf('/')!=-1){
i=1;
}
else{
i=0;
}
var procura=links.match(/(\d+)/g)[i];
if(obj.indexOf(procura)!=-1){
....
}
};
});
});
如何将这两个号码都传递给procura
?
编辑:更新的代码:
jQuery(document).ready(function() {
jQuery('a.title').each(function () {
var links=jQuery(this).attr('href');
if(links.indexOf('/')!=-1){
i=1;
}
else{
i=0;
}
var procura=links.match(/(\d+)/g)[i];
jQuery.each(obj,function(_,test) {
jQuery.each(procura,function(_,match) {
if(test.indexOf(match)!=-1){
...
}
});
});
});
});
答案 0 :(得分:3)
我首先想到的是因为.match将返回一个找到的字符串数组,但是你知道,因为如果有斜杠你自己编入索引
document.write("1234sdfsf21312".match(/(\d+)/g))

所以我相信你正在寻找这个 - 我做了obj字符串,否则他们没有indexOf这是一个字符串方法。
var obj=["6849","6850"];
$(function() {
$('a.title').each(function () {
var $link=$(this);
var href=$link.attr('href');
var idx = href.indexOf('/')!=-1?1:0; // choose the second one if slash
var procura=href.match(/(\d+)/g)[idx];
console.log(procura);
$.each(obj,function(_,test) {
if(test.indexOf(procura)!=-1) { // only works on strings
$link.attr("title",procura+" found");
}
});
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a class="title" href="/6850/blabla/6849.jpg">Link 1</a>
&#13;
获取最后一个号码
var idx = href.indexOf('/')!=-1?1:0; // choose the second one if slash
var procura=href.match(/(\d+)/g)[idx];
到
var matches=href.match(/(\d+)/g);
var procura=matches.slice(-1).pop();