我与Jetpack的尝试,我想解析在给定的HTML页面中的所有这些年来,然后换了年与链接到Wiki页面。我试着在jQuery的代码,有它的工作原理,但现在我使用它在Jetpack的,它提供了一个错误$(DOC).replace不是一个函数。我肯定是新来的Jquery / Jetpack的,所以也许我失去了一些东西真的很容易,但你的帮助是非常赞赏。

编辑:我已经尝试了建议,但我仍然坚持。奇怪的是,本

JQuery的功能的工作原理:

(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);

和基本上,我想“端口”这个函数来传送插座。

这是我的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); 
     });  
   }  

});
有帮助吗?

解决方案

我不熟悉的喷气背包,但你的jQuery的似乎是相当混乱。

如果 “文档” 是一个HTML文档,然后做$(DOC)。每个()并没有真正意义。它只会循环一次,和“这个”将是相同的文档。

再后来你在做$(DOC).replace(正则表达式,...),但替换()不是一个jQuery功能。你可能想要做的.html()代替(正则表达式,...)。不过,我不建议这样做,因为它不会工作 - 你只会落得替换文档中的任何数字,即使他们是另一个URL或页面的HTML的一部分

有关的更多信息,请参见本问题或谷歌的jquery文本节点: 使用jQuery查找文本字符串?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top