Javascript 如何一次全局获取HTML元素并多次使用它?

Javascript 如何一次全局获取HTML元素并多次使用它?,javascript,Javascript,我不想调用 var element = document.getElementById('ph'); 为了提高效率,每次调用updatelock时。因此,我尝试将它放在全局范围内,而不是放在updatelock中。但是,它不起作用 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>This is a title</tit

我不想调用

        var element = document.getElementById('ph');
为了提高效率,每次调用
updatelock
时。因此,我尝试将它放在全局范围内,而不是放在
updatelock
中。但是,它不起作用

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>This is a title</title>
    <script>
        var element = document.getElementById('ph');

        function UpdateClock() {
            var now = new Date();
            var hours = now.getHours();
            var minutes = now.getMinutes();
            var seconds = now.getSeconds();

            if (hours < 10)
                hours = "0" + hours;
            if (minutes < 10)
                minutes = "0" + minutes;
            if (seconds < 10)
                seconds = "0" + seconds;
            element.innerHTML = hours + ":" + minutes + ":" + seconds;
        }

    </script>

</head>
<body onload="setInterval('UpdateClock()', 1000)">
    <h1 id="ph"></h1>
</body>
</html>

这是一个标题
var元素=document.getElementById('ph');
函数updatelock(){
var now=新日期();
var hours=now.getHours();
var minutes=now.getMinutes();
var seconds=now.getSeconds();
如果(小时<10)
小时数=“0”+小时数;
如果(分钟<10)
分钟=“0”+分钟;
如果(秒<10)
秒=“0”+秒;
element.innerHTML=小时+“:”+分钟+“:”+秒;
}

怎么了?这里有什么我遗漏的吗?

编辑:我最初误解了这个问题

将脚本标记放在正文的底部

<script>
....js here
</script>
</body>

…这里是js

编辑:我最初误解了这个问题

将脚本标记放在正文的底部

<script>
....js here
</script>
</body>

…这里是js

将元素添加到DOM后,需要运行执行赋值的代码

最简单的方法是:

<h1 id="ph"></h1>
<script>
    var element = document.getElementById('ph');
</script>

var元素=document.getElementById('ph');
或者,使用添加元素后运行的事件处理程序

<script>
    var element;
    addEventListener('load', function () {
        element = document.getElementById('ph');
    });
</script>

var元素;
addEventListener('load',函数(){
元素=document.getElementById('ph');
});

将元素添加到DOM后,需要运行执行赋值的代码

最简单的方法是:

<h1 id="ph"></h1>
<script>
    var element = document.getElementById('ph');
</script>

var元素=document.getElementById('ph');
或者,使用添加元素后运行的事件处理程序

<script>
    var element;
    addEventListener('load', function () {
        element = document.getElementById('ph');
    });
</script>

var元素;
addEventListener('load',函数(){
元素=document.getElementById('ph');
});

请注意,我不熟悉
javascript
。这段代码是我用JS编写的第一段代码。请注意,我对
javascript
是新手。这段代码是我使用JS的第一段代码。请详细解释,因为我不理解它。它没有包装在函数中,因此使用
var
不会阻止它进入全局范围。请详细解释,因为我不理解它。它没有包装在函数中,因此,使用
var
并不能阻止它进入全局范围。