看看这段代码,
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
function change()
{
document.getElementById("myInput").type="text";
}
</script>
</head>
<body onload="setTimeout('change()',2000);">
<input type = "button" id="myInput">
</body>
</html>
现在,我的按钮在 2 秒后变成了文本框。我很高兴! 为什么当我尝试从浏览器(我在 IE6 和 Chrome 中测试过)使用
javascript:document.getElementById("myInput").type="text"
不同的浏览器有不同的行为方式...
当我尝试 javascript:document.getElementById("myInput").value="myNewValue"
时,IE6 更改了值,但 chrome 没有..
为什么“javascript:”会这样?
最佳答案
使用:
javascript:document.getElementById("myInput").setAttribute('type','text');
我不确定为什么会这样,我认为这是因为设置一个值会返回该值,而返回一个字符串会导致页面显示该字符串,例如:
javascript:"test";
将打开带有“测试”的页面。使用 setAttribute() 不返回任何内容。
关于javascript - 浏览器上的 "javascript:"不会改变类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2505311/