模板处理报错:<a>标签中不支持<img>元素
这个问题我之前处理模板渲染时也碰到过,大多是模板引擎的安全约束或者语法规则限制了标签内直接嵌套元素,下面给你几个实用的解决办法:
用Markdown图片链接语法替代原生HTML
如果你的模板支持Markdown解析,直接用Markdown的图片链接写法就行,既符合规则,渲染后也会生成包裹的结构:
[](你的跳转目标链接)用容器+JS模拟链接点击效果
要是模板完全禁止嵌套img,那就换个思路:给img套个容器,用CSS设置点击指针,再通过JS绑定跳转事件,效果和a标签完全一致:<div onclick="window.location.href='你的跳转目标链接'" style="cursor: pointer; display: inline-block;"> <img alt="头像" src="https://secure.gravatar.com/avatar/3351cc569871d023d58bcd1029b48437?s=26&d=mm&r=g" class="avatar avatar-26 photo avatar-default" height="26" width="26"/> </div>调整模板的安全过滤规则(有权限时)
如果你能修改模板配置,比如用的是CMS或者静态站点生成工具,大概率是安全过滤规则限制了这种嵌套。找到对应的HTML过滤设置,把添加到允许在标签内嵌套的元素列表里就能解决。
需要注意的是,不同模板系统的具体操作会有差异,比如WordPress可能是插件的过滤规则,Hugo这类工具可能要调整配置文件里的HTML处理选项,你可以根据自己用的工具再细化调整。
内容的提问来源于stack exchange,提问作者sammy g
相关产品推荐
相关产品推荐

