jQueryのJetpackの中で動作するようになって
https://stackoverflow.com/questions/932518
質問
私は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を使用してテキスト文字列を検索しますか