<a> href=“javascript:test('1%2f2%22+K-08503-AA2A')” 自动将字符串给转义了 求解!!
情况是这样的,两个a标签,一个用href来出发click事件,另一个用onclick来出发,都调用相同的test方法,传入相同的字符串,字符串中包含转义过的特殊字符,但在方法内得到了两个不同的结果,一个被自动反转义了,求解其中原理是什么?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>a element</title>
<script>
function test(text){
alert(text);
}
</script>
</head>
<body>
<ul>
<li><a id="mmm" href="javascript:void(0)" onclick="test('1%2f2%22+K-08503-AA2A')">Test A</a></li>
<li><a id="ttt" href="javascript:test('1%2f2%22+K-08503-AA2A')">Test B</a></li>
</ul>
</body>
</html>HTML如上,
Results:
单击“Test A”, 得到‘1%2f2%22+K-08503-AA2A’
单击“Test B”,得到‘1/2"+K-08503-AA2A’
href="javascript:test(‘1%2f2%22+K-08503-AA2A’)"
和
onclick="test(‘1%2f2%22+K-08503-AA2A’)"
的区别是什么?
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4687/viewspace-3146978/ ,如需转载,请注明出处,否则将追究法律责任。