首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让jQuery在Jetpack中工作

让jQuery在Jetpack中工作
EN

Stack Overflow用户
提问于 2009-05-31 17:39:21
回答 1查看 1.1K关注 0票数 1

我正在试验Jetpack,我想解析给定html页面中的所有年份,然后用指向Wiki页面的链接包装年份。我尝试了jquery中的代码,它在那里工作,但现在我在Jetpack中使用它,它给出一个错误$(文档).replace不是一个函数。我绝对是Jquery / Jetpack的新手,所以也许我错过了一些非常简单的东西,但您的帮助非常感谢。

编辑:我已经尝试了这些建议,但我仍然卡住了。奇怪的是,这个

JQuery函数的工作原理:

代码语言:javascript
复制
(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);

基本上,我想把这个函数‘移植’到Jetpack上。

这是我的JQuery函数到Jetpack的‘旧’非工作端口:

代码语言:javascript
复制
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); 
     });  
   }  

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-05-31 20:16:45

我不熟悉jetpack,但您的jquery似乎相当混乱。

如果"doc“是一个超文本标记语言文档,那么执行$(doc).each()实际上没有任何意义。它将只循环一次,"this“将与doc相同。

然后执行$(doc).replace(regexp,...),但replace()不是jquery函数。您可能想要执行.html().replace(regexp,...);但是,我不建议这样做,因为它不会起作用-您最终将替换文档中的任何数字,即使它们是另一个URL或页面的HTML的一部分。

有关更多信息,请参考这个问题或谷歌的jquery文本节点:Find text string using jQuery?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/932518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档