获取jQuery来在Jetpack的工作
-
06-09-2019 - |
题
我与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查找文本字符串?
不隶属于 StackOverflow