gpt4 book ai didi

javascript - 让 jQuery 在 Jetpack 中工作

转载 作者:行者123 更新时间:2023-11-30 13:43:26 24 4
gpt4 key购买 nike

我正在试验 Jetpack,我想在给定的 html 页面中解析所有年份,然后用指向 Wiki 页面的链接包装年份。我在 jquery 中尝试了代码并且它在那里工作但现在我在 Jetpack 中使用它并且它给出了错误 $(doc).replace is not a function。我绝对是 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 的“旧”非工作端口:

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

});

最佳答案

我不熟悉 jetpack,但你的 jquery 似乎很乱。

如果“doc”是一个 HTML 文档,那么 $(doc).each() 就没有意义。它只会循环一次,并且“this”与 doc 相同。

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

更多信息,请引用这个问题或google for jquery text nodes: Find text string using jQuery?

关于javascript - 让 jQuery 在 Jetpack 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/932518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com