Вопрос

Я экспериментирую с 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:

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» — это HTML-документ, то выполнение $(doc).each() не имеет смысла.Это будет происходить только один раз, и «this» будет таким же, как doc.

Затем вы выполняете $(doc).replace(regexp,...), но replace() не является функцией jquery.Возможно, вы хотели бы сделать .html().replace(regexp, ...);ОДНАКО, я не рекомендую делать это, потому что это не сработает — в конечном итоге вы просто замените любые цифры в документе, даже если они являются частью другого URL-адреса или HTML-кода страницы.

Для получения дополнительной информации обратитесь к этому вопросу или Google для текстовых узлов jquery:Найти текстовую строку с помощью jQuery?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top