Я пытаюсь манипулировать html-таблицей, чтобы заменить весь текст в ячейках, на которые есть ссылки, на ссылку <a>
, которую можно нажимать с помощью AngularJS.
Когда DOM загружен, у меня есть следующий код:
...
$("td").each(function (index) {
if($(this).text())
{
$(this).text($ctrl.linkify($(this).text().toString()));
}
});
...
$ctrl.linkify = function(text) {
var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(urlRegex, function (url) {
return '<a href="' + url + '">' + url + '</a>';
});
}
Однако ссылки не отображаются в виде интерактивных элементов ссылки.
Важным примечанием является то, что таблица добавляется динамически сторонним плагином, поэтому я могу манипулировать ею только после загрузки . Следовательно, почему в названии я упомянул после того, как таблица была предоставлена.
Как я могу использовать угловые js для связывания ячеек? Или использовать sanitize для рендеринга нового html?