在 chrome 上写了个油猴脚本,用来转换目标网站的链接,用 jquery 获取的链接是 10 个,但是用 myurl.map()方法却只能执行 7 次,真是花了狗了,请求大神指点,谢谢。
部分代码如下:
var SourceUrls = $('#content_left .g'),
Re = /(.*?)\//,
c = 0 ;
SourceUrls.map(function () {
SourceUrl = (Re.exec($(this).text()))[1];
c++;
alert(c);
alert(SourceUrl);
});
测试 demo
// ==UserScript==
// @name My Fancy New Userscript
// @namespace http://your.homepage/
// @version 0.1
// @description enter something useful
// @author You
// @grant none
// @match https://www.baidu.com/*
// @require http://www.w3school.com.cn/jquery/jquery.js
// ==/UserScript==
var SourceUrls = $('#content_left .g'),
SourceUrl,
Re = /(.*?)\//,
c = 0;
SourceUrls.map(function () {
SourceUrl = (Re.exec($(this).text()))[1];
c++;
alert('执行次数:' + c + '\n' + 'SourceUrls 元素数量:' + SourceUrls.length);
});
alert('执行次数:' + c + '\n' + 'SourceUrls 元素数量:' + SourceUrls.length); //这个不会执行,为什么?
1
chairuosen 2015-10-14 16:33:30 +08:00
need demo
|
2
tt210 OP 我去,又正常了。虾米情况啊。我再测试下。谢谢楼上。
|
3
tt210 OP ```
// ==UserScript== // @name My Fancy New Userscript // @namespace http://your.homepage/ // @version 0.1 // @description enter something useful // @author You // @grant none // @match https://www.baidu.com/* // @require http://www.w3school.com.cn/jquery/jquery.js // ==/UserScript== var SourceUrls = $('#content_left .g'), SourceUrl, Re = /(.*?)\//, c = 0; SourceUrls.map(function () { SourceUrl = (Re.exec($(this).text()))[1]; c++; alert('执行次数:' + c + '\n' + 'SourceUrls 元素数量:' + SourceUrls.length); }); alert('执行次数:' + c + '\n' + 'SourceUrls 元素数量:' + SourceUrls.length); //这个不会执行,为什么? |
4
tt210 OP 大家帮忙测试下,正常不?刚才测试还是有问题。好像加了那句正则匹配就出错。
|