javascript - 如何使用 Vue.js 设置文本节点的样式?
问题描述
<div id='app'>{{ userContent }}</div>
在userContent
中,如果一行以-
我只想将该行设置为红色。我可以userContent
使用这些行的类修改 js 中的数据并使用v-html
,但随后我失去了 XSS 保护。有什么方法可以使用 Vue.js 进行 XSS 保护,但也可以设置样式userContent
?
解决方案
如果不从用户提供的字符串创建新元素,我认为这是不可能的。
您可以使用正则表达式自己解析字符串以匹配以连字符开头的行,例如(?<=\-)(.*?)(?=\n)
or \-(.*?)\n
,将该内容包装在具有类的新元素中,然后对其进行样式设置,但随后您需要将其注入回html,我相信它会让你打开 XSS,就像使用 v-html 一样。
据我所知,经过快速搜索后,似乎没有任何方法可以纯粹使用 CSS 来做到这一点。
推荐阅读
- javascript - 当在 ReactJs React-Redux 中仅创建或更新列表中的一个项目时,如何停止重新渲染整个项目列表?
- java - 如何使用 Jetty 进行高级路由?
- html - 无法与照片类似地创建 html 表
- java - java中主要方法中args与arg的区别?
- python - Python Tkinter place_forget() 方法更新程序
- ios - iOS Alamofire - 流式 JSON 行第一个响应问题
- selenium - 我可以向 Gmail/Google 发出多少请求?
- vb.net - 从其他线程 (VBNET) 的异步事件 (websocket) 更新表单
- python - 我的python评估是为咖啡店创建一个程序
- psexec - 在 PSExec 上调用使用 GetForegroundWindow() 的程序会返回 Idle