2016-11-02 44 views
1

我想知道如何返回排行榜上当前名称的数组。从列表插入到数组中

这是我的代码:如果目的是

return Array.from(document.querySelectorAll('#top10>li'), li => li.textContent) 

function top10(maximumResults) { 
 
    //store the leaderboard elements 
 
    //check if leaderboard is less than 10 
 
    //loop through leaderboard 
 
    //return 
 
    var output2 = document.getElementById("top10").getElementsByTagName("li"); 
 
    var output = ""; 
 

 
    for(var i = 0; i < output2.length; i++) { 
 
    if(maximumResults.length < 10) { 
 
     output[i] += output2[i].id; 
 
    } 
 
    } 
 
    return output; 
 
}
<div id=leaderboard class=panel> 
 
    <h1>Leaderboard</h1> 
 
    <ol id=top10> 
 
    <li>test</li> 
 
    <li>aaadad</li> 
 
    <li>dfghfdh</li> 
 
    <li>dfghdfhg</li> 
 
    <li>dfghfdh</li> 
 
    </ol> 
 
</div>

+0

使用'textContent'属性,而不是' id'。另外,不要下标'output' – Li357

+0

你现在不需要在任何地方调用'top10'。你以'maximumResults'传递什么?使用textContent的 –

+0

仍然不起作用。我正在使用jquery来测试结果 – COLONELXO

回答

0

您可以将li值提取到与这行代码的数组要将该结果数组限制为maximumResults元素,则可以使用slice

return Array.from(document.querySelectorAll('#top10>li'), li => li.textContent) 
      .slice(0, maximumResults) 
0

这可以用做反应很容易,但是在这种情况下,所有你需要的是一些jQuery的!:

var array = [1, 2, 4, 5, ,6 ,7 ,8] /// here you can update with own elements 

$(document).ready(function() { 
    for (var i = 0; i < array.length; i++) { 
     $("ol").append("<li>" + array[i] + "</li>") 
     } 
    }) 

演示在这里:http://jsfiddle.net/n5phf/405/