javascript - .replace() 在嵌入式 javascript 中不起作用
问题描述
当我尝试运行以下代码时,它不会将 <、>、" 替换为其等效字符
<% if(typeof myTable !== 'undefined'){ %>
<% myTable = myTable.replace('<','<').replace('>', '>').replace('"', '"') %>
<script>
localStorage['text'] += "<%= myTable %>";
</script>
<% myTable = undefined; %>
<% } %>
当我检查 myTable 的值时,替换为 ejs 的 plceholder 标记,它仍然具有原始形式的这些字符。
myTable = "<table class="table table-bordered table-hover"><thead><tr><th class="col"><p contenteditable="true">Head</p></th><th class="col"><p contenteditable="true">Head</p></th></tr></thead><tbody><tr><td><p contenteditable="true">Null</p></td><td><p contenteditable="true">Null</p></td></tr><tr><td><p contenteditable="true">Null</p></td><td><p contenteditable="true">Null</p></td></tr></tbody></table>"
我该怎么办?
解决方案
我会尝试存储替换字符串的值
<% myTable = myTable.replace('<','<').replace('>', '>').replace('"', '"') %>
否则它只是丢失了。
从文档
replace() 方法在字符串中搜索指定值或正则表达式,并返回替换指定值的新字符串。
如果这不起作用,请尝试使用未转义版本的蜜蜂蜇:("<%- myTable %>";
而不是"<%= myTable %>";
)。
推荐阅读
- angular - input type=date in not working in Internet Explorer 11 for my angular 7 project
- ionic-framework - 需要在 Ionic 4 中将点击的图像捕获为 base64
- javascript - Rails 6 SPA ActiveStorage 无效的请求参数:UTF-8 中的无效字节序列
- node.js - 如何在 gitlab ci 中测试微服务的交互?
- javascript - Angular 的最佳实践
- swift - 从 UICollectionViewCell 滚动统计时,UICollectionView 不滚动
- pdf - 无法弄清楚为什么我的 PDF 签名没有启用 LTV
- c# - hyperv wmi 如何将参数作为字符串传递?
- elasticsearch - 使用 Elasticsearch 搜索精确匹配的文本
- html - 如何使用两个单独的子 div 的元素更改显示顺序?