2015-09-17 129 views
1

我無法理解一件事。我有它接受作爲參數DOM元素的id的函數:變量getElementbyId函數內部

對於實施例

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

['document.getElementById()'](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById)需要id作爲字符串進行搜索。 - >'無論(「ol」)' – Andreas

+0

嘗試'無論(「ol」)' – Lauromine

+0

@Lauromine我需要做的事情不僅對於「醇」這就是爲什麼我試圖做一個功能 – yevgeniy

回答

2

whatever("ol")應該這樣做。

0

我相信你的問題是雙重的:

  1. 你已經有了一個範圍問題。變量element是在whatever函數中定義和分配的,這意味着您無法在該函數之外看到它。你想返回從你的函數調用document.getElementId的結果。

    function whatever(id) { 
        return document.getElementById(id); 
    } 
    
  2. 您必須將表示元素ID的字符串傳遞給函數。

    var element = whatever("ol"); 
    

有了這兩個東西的地方element現在將正確的HTML元素的引用。