如何设置已经“嵌入” HTML的<a>标记的“ target”属性?

我正在使用VueJS和Kentico Kontent作为CMS开发网站。此CMS提供了“富文本”功能,基本上允许文本内容嵌入链接和基本格式,当通过API提供服务时,这些内容会自动转换为HTML。

使用v-html指令显示HTML内容没有问题,但是我无法想到将内部<a>标记的属性设置为_blank的方法,因此单击嵌入式链接会打开新窗口。

是否有任何优雅的方法可以执行此操作而不必从前端解析HTML?

yrxxxyr 回答:如何设置已经“嵌入” HTML的<a>标记的“ target”属性?

您可以创建一个指令:

Vue.directive('links-in-new-window',{
  inserted: function(el) {
    const anchors = el.querySelectorAll('a')

    anchors.forEach((anchor) => anchor.target = "_blank")
  }

})

并将其应用于您在以下位置使用v-html的同一元素:

<div class="content" v-html="content" v-links-in-new-window></div>
本文链接:https://www.f2er.com/2827696.html

大家都在问