函数内部的变量getElementbyId

时间:2015-09-17 22:27:48

标签: javascript html css

我无法理解一件事。我有一个函数接受dom元素的id作为参数:

例如

HTML

<ol id="ol">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ol>

JS

function whatever(elem) {
    var element = document.getElementById(elem);
}

初始化

whatever(ol) 

为什么当我在函数中执行console.log(element)时,它显示null?我错过了什么?

2 个答案:

答案 0 :(得分:2)

whatever("ol")应该可以解决问题。

答案 1 :(得分:0)

我相信你的问题是双重的:

  1. 你有一个范围问题。变量elementwhatever函数中定义和分配,这意味着您无法在该函数之外看到它。您希望从函数中返回调用document.getElementId的结果。

    function whatever(id) {
        return document.getElementById(id);
    }
    
  2. 您必须将表示元素id的字符串传递给您的函数。

    var element = whatever("ol");
    
  3. 有了这两件事,element现在将成为对正确HTML元素的引用。