Javascript 让jQuery在Jetpack中工作
我正在试验Jetpack,我想解析一个给定html页面中的所有年份,然后用指向Wiki页面的链接来包装年份。我在jquery中尝试了这段代码,但现在我在Jetpack中使用它,它给出了一个错误$(doc)。replace不是一个函数。我绝对是Jquery/Jetpack的新手,所以可能我错过了一些非常简单的东西,但非常感谢您的帮助 编辑:我尝试过这些建议,但我还是被卡住了。奇怪的是 JQuery函数可以工作:Javascript 让jQuery在Jetpack中工作,javascript,jquery,firefox-addon,firefox-addon-sdk,Javascript,Jquery,Firefox Addon,Firefox Addon Sdk,我正在试验Jetpack,我想解析一个给定html页面中的所有年份,然后用指向Wiki页面的链接来包装年份。我在jquery中尝试了这段代码,但现在我在Jetpack中使用它,它给出了一个错误$(doc)。replace不是一个函数。我绝对是Jquery/Jetpack的新手,所以可能我错过了一些非常简单的东西,但非常感谢您的帮助 编辑:我尝试过这些建议,但我还是被卡住了。奇怪的是 JQuery函数可以工作: (function($) { $.fn.clickUrl = function
(function($) {
$.fn.clickUrl = function() {
var regexp = /([1-2][0-9][0-9][0-9])/gi;
this.each(function() {
$(this).html(
$(this).html().replace(regexp,'<ahref=\"http://nl.wikipedia.org/wiki/$1\">$1<\/a>')
);
});
return $(this);
}
})(jQuery);
(函数($){
$.fn.clickUrl=function(){
var regexp=/([1-2][0-9][0-9][0-9])/gi;
这个。每个(函数(){
$(this.html)(
$(this.html().replace(regexp,$1'))
);
});
返回美元(此);
}
})(jQuery);
基本上,我想把这个功能移植到Jetpack上
这是我的JQuery函数到Jetpack的“旧”非工作端口:
jetpack.statusBar.append({
html: "Hyperlink Years",
width: 80,
onReady: function(widget){
$(widget).click(function(){
var regexp = /([1-2][0-9][0-9][0-9])/gi;
var doc = jetpack.tabs.focused.contentDocument;
$(doc).each(function() {
$(this).html(
$(doc).replace(regexp,'<a href=\"http://nl.wikipedia.org/wiki/$1\">$1<\/a>'));
});
return $(doc);
});
}
});
jetpack.statusBar.append({
html:“超链接年”,
宽度:80,
onReady:函数(小部件){
$(小部件)。单击(函数(){
var regexp=/([1-2][0-9][0-9][0-9])/gi;
var doc=jetpack.tabs.focused.contentDocument;
$(doc).每个(函数(){
$(this.html)(
$(doc).replace(regexp,$1');
});
返回美元(doc);
});
}
});
我对jetpack不太熟悉,但您的jquery似乎相当混乱
如果“doc”是一个HTML文档,那么执行$(doc).each()实际上没有意义。它只会循环一次,“this”与doc相同
然后稍后您将执行$(doc).replace(regexp,…),但replace()不是jquery函数。您可能希望执行.html().replace(regexp,…);但是,我不建议这样做,因为这样做是行不通的——您只会替换文档中的任何数字,即使它们是另一个URL或页面HTML的一部分
有关更多信息,请参阅此问题或google For jquery文本节点: