質問

私は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);

と基本的に、私はジェットパックには、この関数「ポート」にしたいと思います。

これは、Jetpackのに私のjQueryの関数の「古い」非稼働ポートがあります

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のはかなりめちゃくちゃしているようだ。

"DOC" は、その後、本当に意味がありません$(DOC).each()を実行し、HTML文書である場合。一度それは希望だけでループし、「これは」ドキュメントと同じになります。

次に、後であなたが$(DOC).replace(正規表現、...)をやってますが、jQueryの機能ではありません()を交換しています。あなたは)(.htmlのをやってみたかったかもしれない(...、正規表現)を交換してください。それは動作しませんので、しかし、私はこれを行うことはお勧めしません - あなたはちょうど彼らが別のURLやページのHTMLの一部であっても、文書内の任意の番号を交換することになります。

詳細については、jqueryのテキストノードのためにこの質問やGoogleを参照してください。 のjQueryを使用してテキスト文字列を検索しますか

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top