【发布时间】:2021-02-02 08:43:09
【问题描述】:
我正在研究一种在 HTML 元素中重写链接的解决方案。
我通过 JSON 字符串“spanClass1”获取 HTML 信息。在这个字符串中,我需要将一个类重写为一个链接。这非常有效。不幸的是,我在 Angular 中使用哈希路由,只能通过 toDocument() 函数进一步链接。它不能通过普通的<a href="link">link name</a> 标签工作
通过span.className.replace(/\D/g, ''),我获得了链接到该页面所需的 ID。
很遗憾,我无法定义包含页面 ID 的 Angular(点击)函数。
另外,我不能操作 .html 中的代码,只能在 .ts 中操作。
document.ts
var div = document.createElement('div');
div.innerHTML = spanClass1;
div.querySelectorAll('[class^=doc-]').forEach(function (span) {
var anchor = document.createElement('a');
anchor.href = '/suche#/document/' + span.className.replace(/\D/g, '');
anchor.href = span.className.split('doc-')[1];
anchor.innerHTML = span.innerHTML;
span.parentNode.replaceChild(anchor, span);
});
spanClass1 = div.innerHTML;
toDocument(id) {
window.open('/suche#/document/' + id);
}
JSON
"spanClass1": "blablablablabla <span class=\"doc-158 \">Radleuchter,</span> blablablabla"
如何将(click)="toDocument(123)" 函数添加到组件内的<a> 标记中。
【问题讨论】:
-
您可能需要 addEventListener,例如stackoverflow.com/q/41609937/925478
标签: javascript angular typescript