我是否应该避免使用" markup4"中的双引号?这样的?令我惊讶的是这个简单的作品。如果我用& quot替换它们,那就不会。
<script type="text/javascript">
function test3(){
document.getElementById('div21').innerHTML += '<div class = "markup4"><br>blablablabla1.<br><br></div><div class = "markup3"><br>blablabla2.<br><br></div>';
}
</script>
答案 0 :(得分:12)
这些工作无需逃避:
innerHTML = "<div class = 'markup4'>";
innerHTML = '<div class = "markup4">';
注意:当
"
在外面使用时,'
在内部正常工作。 (和 相反的)
这些需要逃脱:
innerHTML = '<div class = \'markup4\'>';
innerHTML = "<div class = \"markup4\">";
注意:当你在里面和里面使用双引号时,里面是
"
需要转义\
。 (单引号相同)
这些会破坏:
innerHTML = "<div class = "markup4">";
innerHTML = '<div class = 'markup4'>';
答案 1 :(得分:1)
首先将字符串解析为内部javascript字符串表示形式,因此首先需要为javascript字符串文字转义。结果将与您已有的结果相同 - 因此无需进行任何修改。
现在你有了
<div class = "markup4"><br>blablablabla1.<br><br></div><div class = "markup3"><br>blablabla2.<br><br></div>
在javascript内存中。
在此之后,就像您将其写为普通HTML一样,当然,如果您使用"
,它将无效。
存储经过2种不同解释的字符串会变得非常复杂,这就是为什么你不应该这样做,而是使用模板引擎,将模板存储在页面上的其他文件或自定义脚本元素中,这样就可以了只关注html解释。
答案 2 :(得分:0)
转义
前:他说,&#34;请用这个!&#34;应该像以下一样逃脱:
他说,\&#34;请用这个!\&#34;。
否则他们没有任何麻烦。
希望我已经澄清了。
答案 3 :(得分:0)
别忘了浏览器会根据您提供的内容呈现自己的innerHtml,如果嵌套innerHtml代码,可能会引起问题。
我发现Get-Childitem $dir_to_look *.xml -Recurse | Where-Object { $_.LastWriteTime -gt $TwoDays } | Select-Object LastWriteTime, FullName | Export-Csv -LiteralPath "E:\xPression\CustomerData\xPressionECR\ReportOutput\Report.csv "
和'
代码在这里很有用。