假设我有这个 HTML 页面:
<html>
<head>
<script type="text/javascript">
function echoValue(){
var e = document.getElementById("/path/$whatever");
if(e) {
alert(e.innerHTML);
}
else {
alert("not found\n");
}
}
</script>
</head>
<body>
<p id="/path/$whatever">The Value</p>
<button onclick="echoValue()">Tell me</button>
</body>
</html>
我假设浏览器将 ID 字符串/path/$whatever
视为简单字符串。实际上,它将 转换$
为它的呈现表示 ( $
)。
然而,javascript 代码使用文字字符串$
来搜索元素。所以,电话document.getElementById
失败了,我从来没有得到这个段落的价值。
有没有办法强制浏览器按字面意思使用给定的 ID 字符串?
编辑:
当然我知道我不必逃避$
. 但是会生成网页,并且生成器会进行转义。所以,我必须应付我所拥有的。