我的答案起初可能看起来很复杂,但我确实认为从一个好的概念开始是健康的,会让事情变得更愉快。学习工具的一个常见问题实际上是他们将自己提升为“快速”学习方式。你可以从他们身上获得一些好处,但是有一些警告。如果跳过太多步骤,学习会更困难。
HTML在设计上用于描述页面的表示,而JavaScript则是用于与该页面交互的设计。
内联JavaScript是一种不好的做法,通常会导致您遇到的问题。这里内联意味着你直接把交互式代码放在HTML演示文稿中。如果你这样做,你很快就会发现这部分HTML变得混乱。然后,由于>
,"
和'
都在相同的地方,所以看起来很难直观地处理分隔符。
内联javascript的另一个问题是它混合了两个概念:交互和表示。 HTML应该只用于演示。
这样一来,你可以编辑代码,使它看起来像这样:
HTML
<!DOCTYPE html>
<html>
<body>
<p id="demo">Hello</p>
<button id="btn" type="button">Try it</button>
<script>
document.getElementById('btn').onclick = function() {
document.getElementById('demo').innerHTML = 'Hey There';
}
</script>
</body>
</html>
它什么时候该文件加载时,它会以交互方式的操作关联您的按钮,如果在用户的浏览器中启用了JavaScript。如果不是,页面不会失败,它会被降级。在该示例中,演示文稿(html)与交互(脚本)完全分离。作为奖励,没有更多的双引号或单引号。
对于脚本部分,我个人喜欢使用它多一点,所以它更容易使用和阅读。
事情是这样的:
的JavaScript
_e('btn').onclick = function() {
_e('demo').innerHTML = 'Hey There';
}
function _e(id) {
return document.getElementById(id);
}
甚至更好:
的JavaScript
_e('btn').addEventListener('click', function() {
_e('demo').innerHTML = 'Hey There';
}, false);
function _e(id) {
return document.getElementById(id);
}
的最后一个版本都会电子在你的按钮上当你click
时,请明确说明你的意图。这实际上使你很清楚你打算如何处理你的按钮。
我希望这有助于和好运:)
在Firefox中,右键 - >检查元素显示'<按钮类型= “按钮” 的onclick = “的document.getElementById(” 演示 “)。innerHTML的=” 嘿有“”=“”>尝试一下'。 –