在我的 javascript 代码中,我有
onchange="document.getElementById('user_name').value =
document.getElementById('theDomain').value + '\\' +
document.getElementById('fake_user_name').value"
这里反斜杠不起作用。问题是什么? 应该怎么写呢?
示例: 我想通过使用域名(x)和假用户名(joe)来拥有“x.com\joe”,但当我使用“\”时,我得到的结果只是 joe
最佳答案
正如您所说,它位于 JavaScript 代码中,而不是作为 HTML 元素上的属性,
onchange="document.getElementById('user_name').value =
document.getElementById('theDomain').value + '\\' +
document.getElementById('fake_user_name').value"
正在设置一个字符串值,以""
分隔。由于 \\
位于字符串中,因此该字符串的值为
document.getElementById('user_name').value =
document.getElementById('theDomain').value + '\' +
document.getElementById('fake_user_name').value
这意味着当该字符串作为代码运行时,它不再有效 - 只有一个反斜杠,它转义了结束单引号。
双转义反斜杠 ('\\\\'
):
onchange="document.getElementById('user_name').value =
document.getElementById('theDomain').value + '\\\\' +
document.getElementById('fake_user_name').value"
或使用函数作为事件处理程序而不是计算的字符串。
关于javascript - JavaScript 中的反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005545/