Переименовать или заменить все URL в HTML-файл для JavaScript

У меня есть веб-приложение jquerymobile, и я хочу сохранить все существующие сотни различных внешних ссылок в html-файле, например:

<a href="http://www.example.com" target="_blank" data-rel="external">Link</a>

но хочу заставить их вести себя так:

<a href="javascript:intel.xdk.device.launchExternal('http://www.example.com');">

Как бы я сделал это (без поиска и замены) с помощью скрипта? Большое спасибо за вашу помощь.

2 ответа

Решение

Я полагаю, вы хотите добавить обработчик событий для всех ссылок, например так:

$(document).on('click', 'a', function() {
    this.href = "javascript:intel.xdk.device.launchExternal('" + this.href + "');";
});

Работа будет выполнена только при нажатии на ссылку.

Или, благодаря benkol:

$(document).on('click', 'a', function() {
    javascript:intel.xdk.device.launchExternal(this.href);
    return false;
});

Если вы можете использовать jquery или jquery mobile, используйте это, чтобы заменить все ссылки

$(function() {
    $("a").each(function() { 
        $(this).attr("href", "javascript:intel...('" + $(this).attr("href") +"')"); 
    });
});
Другие вопросы по тегам