2013-06-30 26 views
1

我正在創建一個小的JavaScript選擇器,它將通過id或class來獲取元素,具體取決於選擇器,但由於某種原因,它返回null。定製JavaScript NodeList選擇器腳本返回null/undefined

我基本上想測試選擇器的indexOf,並相應地運行最佳選擇器。出於某種原因,它返回null和undefined,任何建議表示讚賞,下面的jsfiddle太:

var $ = function (selectors) { 
    var selector = selectors.split(','); 
    var results = []; 

    for(var i = 0; i < selector.length ; i++) { 
     if (selector[i].indexOf('#') == 0) { 
      var result = document.getElementById(selector[i]); 
      results.push(result); 
     } 
    } 
    console.log(results); 
} 

var test = $('#myID'); 
console.log(test); 

http://jsfiddle.net/6FWL5/

回答

3

你需要嘗試與getElementById檢索元素之前刪除的哈希。更改

var result = document.getElementById(selector[i]); 

var result = document.getElementById(selector[i].replace("#", "")); 

這是你的jsFiddle回來。

+0

啊是的。很簡單,呃! – Halcyon991

+0

總是很簡單的東西。 :)臭蟲喜歡隱藏在明顯的景象。 –