我有一个包含大量<a id="r"></a>
标记的文档,并希望为每个标记添加递增编号,因此,<a id="r1"></a>
... <a id="r2"></a>
等。我的循环目前有,似乎没有用。
function(doc) {
for (var i = 1; i <= doc.length; i++) {
var number = 1;
return doc.replace(/<a id=""><\/a>/, '<a id="page' + number + '"></a>');
number += 1
};},
答案 0 :(得分:0)
如果你在循环中return
,它将不会多次迭代。
答案 1 :(得分:0)
您在循环中设置了var number = 1;
。您已经有一个i
的整数,所以请使用+ i +
,然后在循环中返回。
答案 2 :(得分:0)
我不认为你想要循环。尝试使用替换模式中的递增数字来执行全局正则表达式:
function(doc) {
var number = 1;
return doc.replace(/(<a\s+[^>]*id="r)("[^>]*>[^<]*<\/a>)/gi, function(m, a, b) {
return a + (number++) + b;
});
};
这会查找包含<A>
的所有id="r"
代码,保持其内容和属性相同,但会将r
更改为r1
,r2
,{ {1}}。这是你想要的吗?
答案 3 :(得分:0)
尝试在循环外声明number
。
function(doc) {
var number=1;
for (var i=1;i<=doc.length;i++) {
return doc.replace(/<a id=""><\/a>/,'<a id=\"page'+number+'\"></a>');
number+=1;
}
},