晚上好。
我有以下代码:
<script type="text/javascript">
function action1() {
var x = document.getElementById('MarcaGravadaPedra');
x.style.display = "inline";
document.getElementById('EstruturaSagrada').style = "display: none;"
document.getElementById('objectosagrado').style = "display: none;"
HideAll();
}
</script>
在html本身上,有一个表单,里面有一些按钮:
<input type="button" id="ObjectoSagradoButton" value="Objecto Sagrado" onClick="action1();"/>
虽然,此代码适用于Firefox,但不适用于IE或Chrome。我已经尝试了所有的东西,但似乎无法做到这一点。
那个按钮会显示一些div,其他则会消失。
<div id="MarcaGravadaPedra">Testing1</div>
答案 0 :(得分:1)
快速。
使用onclick而不是onClick。
详细
在Chrome上按F12。将出现开发人员工具。它对Web开发人员非常有用。
现在,转到菜单,你会发现一个镜头。单击它,然后单击按钮。右键单击突出显示的文本,然后选择编辑为HTML。更改onClick per onclick并再试一次。
我不是母语为英语的人,对错误感到抱歉。
希望它有用并且有一个很好的编码之夜。
答案 1 :(得分:1)
我无法想象您的代码可以在任何浏览器中使用。您使用字符串覆盖了style
对象中的几条奇数行:
document.getElementById(...).style = "display: none;"
应该是:
document.getElementById(...).style.display = "none";
或:
document.getElementById(...).setAttribute('style', 'display: none');
答案 2 :(得分:0)
此问题可能受内容安全策略的制约。如果是这样,代码不应该工作。此外,使用内联onclick是一个坏主意。请尝试使用此代码:
function action1() {
var x = document.getElementById('MarcaGravadaPedra');
x.style.display = "inline";
document.getElementById('EstruturaSagrada').style = "display: none;"
document.getElementById('objectosagrado').style = "display: none;"
HideAll();
}
document.getElementById('ObjectoSagradoButton').addEventListener('click',action1);
有关内容安全策略的更多信息,请访问此处 MDN