2016-09-23 5 views
0

私の目標は、1つの配列を作成し、後で.unshiftメソッドを使用してデータを挿入することです。​​要素をJavascriptで配列に変換する

配列にtd要素のみを含み、jQueryではなくJavaScriptを使用して配列を作成したいとします。出来ますか?ここで

は私のテーブルです:

<table id="scorestable"> 
    <tr> 
     <th>Type</th> 
     <th>Score</th> 
     <th>Score</th> 
     <th>Type</th> 
    </tr> 
    <tr> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
    ..... 
+0

それは可能ですか?それはあなたの質問ですか? –

+0

いいえ、何も試していないためです。 – evolutionxbox

答えて

1

は、単純に使用します。

var elements = document.getElementById("scorestable").getElementsByTagName('td'); 

、あなたが持っているでしょう:elements[0]elements[1]となどを...

+1

これは配列ではないので、 'unshift'はありません。それはライブアップデートされますが、OPが望んでいることはわかりません。 –

+0

配列のようなオブジェクトFTW! – evolutionxbox

+0

'NodeList'を配列に変換する方法はhttp://stackoverflow.com/questions/4557817/convert-nodelist-to-array?s=1|3.2666を参照してください。 – Barmar

0
<table id="scorestable"> 
    <tr> 
    <th>Type</th> 
    <th>Score</th> 
    <th>Score</th> 
    <th>Type</th> 
    </tr> 
    <tr> 
    <td>33</td> 
    <td></td> 
    <td>6</td> 
    <td></td> 
    </tr> 
</table> 

<script> 
    window.onload = function(e) { 
    var arrayResult = []; 
    var tdList = Array.prototype.slice.call(document.getElementById("scorestable").getElementsByTagName('td')); 
    tdList.forEach(function logArrayElements(element, index, array) { 
     if (element.innerText && element.innerText != "undefined") { 
     arrayResult.unshift(element.innerText); 
     } 
    }); 
    console.log(arrayResult); 
    } 

</script>